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);