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

你可能感兴趣的:(Android)