Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*I have cart and confirm option in my onCreateOptionsMenu of activity, confirm option is not visible
- now when I click on cart I am replacing activity or current fragment on activity with cartfragment.below is onOptionsItemSelected from activity */
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- return when (item.itemId) {
- R.id.action_cart -> {
- val myFragment =supportFragmentManager.findFragmentById(R.id.placeholder)
- if (myFragment != null && myFragment is CartFragment) {
- Toast.makeText(applicationContext,"Already in Cart",Toast.LENGTH_SHORT).show()
- return true
- }
- var frag=CartFragment()
- supportFragmentManager.beginTransaction().replace(R.id.placeholder, frag,"CART").addToBackStack(null).commit()
- true
- }
- else -> super.onOptionsItemSelected(item)
- }
- }
- /*
- now in cartfragment i am making confirm option visible,on click of this confirm option I am replacing cartfragment with finalCartFragment. */
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- val id = item.itemId
- when (id) {
- R.id.order -> {
- //update the cart
- dbh = DataBaseHandler(activity?.applicationContext!!)
- dbh!!.updateCartToFinalView(cartList)
- var fragment: FinalCartFragment = FinalCartFragment()
- activity?.supportFragmentManager?.beginTransaction()
- ?.replace(R.id.placeholder, fragment)?.addToBackStack(null)?.commit()
- return true
- }
- }
- return false
- }
- /*now inside the finalCartFragment , the cart option is still there, and when I click on that it will take me to cartfragment again ,all good (it is getting call from activities onOptionsItemSelected).
- now when I do backpress, I go back to finalCartFragment, I don't want this to happen.
- I tried following in my finalCartFragment , but it is not working */
- setHasOptionsMenu(true) in onCrete..and following
- override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
- menu.clear()
- inflater.inflate(R.menu.menu_item, menu);
- val order = menu.findItem(R.id.order)
- order?.setVisible(true)
- }
- override fun onOptionsItemSelected(item: MenuItem): Boolean {
- val id = item.itemId
- when (id) {
- R.id.order ->{
- //show dialog
- showdialog()
- }
- R.id.action_cart->{
- var fragment=CartFragment()
- activity?.supportFragmentManager?.beginTransaction()
- ?.replace(R.id.placeholder, fragment)?.commit()
- return true
- }
- }
- return false
- }
Add Comment
Please, Sign In to add comment