1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android小白关于Activity Fragment Adapter之间传值的一些记录

Android小白关于Activity Fragment Adapter之间传值的一些记录

时间:2018-10-03 16:57:43

相关推荐

Android小白关于Activity Fragment Adapter之间传值的一些记录

Activity,Fragment,Adapter之间传值

1.往activity传值 :在activity中写start方法。如下

public static void start(Context context, String typeId, String stateId, String id, String rfId, String content) {Intent starter = new Intent(context, MainActivity.class);starter.putExtra("typeId", typeId);starter.putExtra("stateId", stateId);starter.putExtra("id", id);starter.putExtra("rfId", rfId);starter.putExtra("content", content);context.startActivity(starter);}

然后在其余地方直接调用这个类的start方法。

将参数获取到拼进去。

MainActivity.start(getActivity(),typeid,stateid,Id,rfid,tvNum.getText().toString());

在activity中获取值则用:

getIntent().getStringExtra("typeId")

2.往fragment传值:在fragment中写newInstence方法

public static ScanFragment newInstance(String name,String typeid, String stateid, String id, String rfid) {Bundle args = new Bundle();args.putString("name",name);args.putString("typeid",typeid);args.putString("stateid",stateid);args.putString("id",id);args.putString("rfid",rfid);ScanFragment fragment = new ScanFragment();fragment.setArguments(args);return fragment;}

在实例化fragment的时候 直接fragment.newInstance方法传值过来

取值时用:

if (getArguments() != null) {name = getArguments().getString("name");typeid = getArguments().getString("typeid");stateid = getArguments().getString("stateid");Id = getArguments().getString("id");rfid = getArguments().getString("rfid");}

3.往adapter里传值 :直接声明Adapter的时候作为参数将List传进去

mVerificationListAdapter = new VerificationListAdapter(getActivity(), list);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。