通过捆绑传递数据

时间:2014-12-10 11:54:24

标签: java android bundle

我想发送我这样做的数据:

public static final String Itemmm = "tryIT";

String item3 = (String)arrayAdapter.getItem(position).toString();
ClassicsA class = new Classics();
Bundle bundle2 = new Bundle();
bundle2.putString(ClassicsB.Itemmm, item3);
class.setArguments(bundle2);

为了接收数据,我这样做:

Bundle bundle2 = this.getArguments();

    if(bundle2!=null){
        String i = bundle2.getString(ClassicsB.Itemmm, "");
        testButton.setText(i);
    }

然而,当我检查testButton的值为空时,数据永远不会被发送。你能看出我做错了什么吗?当我在括号之间添加item3时,它只将item3作为字符串。

顺便说一句,这是2个片段之间的通信。

1 个答案:

答案 0 :(得分:0)

发送数据,请使用以下代码行:

Bundle bundle = new Bundle();
bundle.putString("KEY", "VALUE");

// set Fragmentclass Arguments 
Fragmentclass fragobj = new Fragmentclass();
fragobj.setArguments(bundle);

为了接收数据,请使用:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    String strtext = getArguments().getString("KEY");    
    return inflater.inflate(R.layout.fragment, container, false);
}

希望这会有所帮助。