How To Pass Value From Navigationdrawerfragment.java To Mainactivity.java Then Pass To Anotherfragment Page
in my NavigationDrawerFragment.java i have this code expListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildCli
Solution 1:
update your selectitem() and onNavigationDrawerItemSelected methods to accept two more arguments i.e child.id and child.name
privatevoidselectItem(int position,String id,String name) {
mCurrentSelectedPosition = position;
if (mDrawerListView != null) {
mDrawerListView.setItemChecked(position, true);
}
if (mDrawerLayout != null) {
mDrawerLayout.closeDrawer(mFragmentContainerView);
}
if (mCallbacks != null) {
mCallbacks.onNavigationDrawerItemSelected(position,id,name);
}
}
pass child.id and child.name in selectItem() method so which in turn will call onNavigationDrawerItemSelected() method implemented in MainActivity.
Now in MainActivity, pass the values to the fragment using Bundle
here
fragmentManager.beginTransaction()
.replace(R.id.container, CategoryFragment.newInstance(id,name))
.commit();
you will also need to update to CategoryFragment.newInstance(String,String) to accept the arguments
Updating code to 'setText' in 'edittext'
In your 'CategoryFragment' 'newInstance' method pass data in bundle like below
CategoryFragmentcategoryfragment=newCategoryFragment()
Bundlebundle=newBundle()
bundle.putStringExtra("id",id)
bundle.putStringExtra("name",name)
categoryfragment.setArguements(bundle)
return categoryfragment
Now in onCreateView of Categoryfragment get this data like below
if(getArguments().getExtras != null) {
Stringcatid= getArguments.getStringExtra("id");
Stringcatname= getArguments.getStringExtra("name");
yourEditText.setText(catname);
}
Hope you got my point
Post a Comment for "How To Pass Value From Navigationdrawerfragment.java To Mainactivity.java Then Pass To Anotherfragment Page"