如何将值从Activity
传递到Fragment
?
我了解我可以setArgument
使用Activity
,getArgument
使用Fragment
。但我这样做没有运气。该值仍然返回null。
活动
public class nfc_activity extends Activity {
private ImageView mCardView;
MyFragmentA f2;
public static String itemname;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Button goButton = (Button)findViewById(R.id.go);
goButton.setOnClickListener(mGoListener);
}
private OnClickListener mGoListener = new OnClickListener()
{
public void onClick(View v)
{
// Here we start up the main entry point of our redirection
// example.
String itemname ="1";
MyFragmentA fragment = new MyFragmentA();
Bundle bundle2 = new Bundle();
bundle2.putString("key", itemname);
fragment.setArguments(bundle2);
}
};
}
片段
public class MyFragmentA extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Bundle bundle = this.getArguments();
if (bundle != null) {
String hello = bundle.getString("key", defaultValue);
System.out.println(hello);
}
答案 0 :(得分:0)
您的代码没有显示您的片段如何附加到活动,但您必须确保在之前设置参数,以便它们可以在onCreateView。
答案 1 :(得分:0)
您是否尝试使用标记来识别Fragment并使用findFragmentByTag来检索它? 在我看来比使用findFragmentById更清晰,它实际上是在寻找膨胀的XML布局的id或容器布局的id!