在我的项目中,我必须在片段活动中传递一些数据。我怎么做 ?我试过这样的:
String json_string = "s";
Intent intent = new Intent(context, ShowMapFragement.class);
intent.putExtra("json_data", json_string);
context.startActivity(intent);
但是它没有正常工作。请帮帮我。
答案 0 :(得分:1)
以下是将数据从活动传递到片段的一种方法:
在Fragment类中创建一个静态newInstance()方法:
public static MyFragment newInstance(String valueToPass) {
MyFragment instance = new MyFragment();
Bundle args = new Bundle();
args.putString("key", valueToPass);
instance.setArguments(args)
return instance;
}
将Activity / Fragment中的数据传递给MyFragment,如下所示:
MyFragment myFragment = MyFragment.newInstance("Hello World");
然后你可以这样做来检索数据(Fragment.onCreate()之后的任何时间)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
String passedValue = getArguments().getString("key");
// passedValue == "Hello World"
}
}