I am using fragments in my application. This is my first fragment that simply inflate a xml file:
public class FragmentA extends SherlockFragment { Context myContext,appContext; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub myContext = getActivity(); appContext=getActivity().getApplicationContext(); arguments = getArguments(); doctor_id=arguments.getInt("doctor_id"); userType=arguments.getString("userType"); return inflater.inflate(R.layout.left_panel, container,false); }
and this is the left_panel .xml, that contains a fragment:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <fragment android:id="@+id/titles" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" class="com.example.sample.ListFrag" /> </LinearLayout>
This is my ListFrag class:
public class ListFrag extends Fragment { Context myContext,appContext; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub layoutView = inflater.inflate(R.layout.activity_doctor_list,container); myContext = getActivity(); appContext=getActivity().getApplicationContext(); arguments=getArguments(); int doctor_id=arguments.getInt("doctor_id"); } }
I don't know how to pass Bundle arguments
from FragmentA to ListFrag.
In your FragmentA fragment set the bundle as the argument.
Bundle args = new Bundle(); args.putInt("doctor_id",value); ListFrag newFragment = new ListFrag (); newFragment.setArguments(args);
In your ListFrag fragment get the bundle as
Bundle b = getArguments(); int s = b.getInt("doctor_id");
Fragment to Fragment set and get Argument:
Start Activity :
int friendId = 2; //value to pass as extra i = new Intent(firstActivity, SecondActivity.class); i.putExtra("friendsID", friendId); firstActivity.startActivity(i);
SecondActivity:
Fragment_A mFragment_A = new Fragment_A(); mFragment_A.setArguments(getIntent().getExtras());
Fragment_A:
Bundle bundle = new Bundle(); String Item = getArguments().getString("friendsID"); bundle.putInt("friendsID", Integer.parseInt(Item)); // code Fragment_B mFragment_B = new Fragment_B(); mFragment_B.setArguments(bundle);
Fragment_B:
Bundle bundle = getArguments(); int value = bundle.getInt("friendsID"); Log.e("value Fragment get Argument ", "friendsID :" + value);
this work for me,try this may be this sample help you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With