我有一个活动,用户按下一个按钮,然后发送到一个片段,但我希望传递一个额外的片段使用:
活动A(按钮在哪里):

public OnClickListener publish = new OnClickListener(){

       @Override
       public void onClick(View v) {


           Intent intent = new Intent(v.getContext(),ActivityB.class);
           intent.putExtra("friendIdRowID", rowID);
           startActivity(intent);


       }
   };

活动b正在加载片段(我希望在其中检索额外的“friendirowid”),
碎片:
 @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.activity_main2, container, false);

            Bundle extras = getActivity().getIntent().getExtras();

        if (extras != null)
        {

            String myString = extras.getString("friendIdRowID");
}
        }

但它不起作用,我能做什么来传递和检索额外的?谢谢。

最佳答案

您需要使用setArguments()Fragment方法将信息传递到片段中。在创建片段的活动中,执行以下操作:

YourFragment f = new YourFragment();
Bundle args = new Bundle();
args.putString("friendIDRowID", getIntent().getExtras().getString("friendIDRowID"));
f.setArguments(args);
transaction.add(R.id.fragment_container, f, "tag").commit();

然后,重写onCreate()Fragment方法并执行以下操作:
Bundle args = getArguments();
String myString = args.getString("friendIdRowID");

与活动的附加功能一样,您可以向参数包中添加任意数量的内容。希望这有帮助!

10-08 09:13