将string.xml中的值从一个片段传递到另一个片段?

时间:2018-02-06 11:29:38

标签: android

string.xml 文件中的值为。

<string name="hello_blank_fragment">Hello blank fragment</string>

从这个片段我试图通过使用putextra

将值传递给另一个活动

i=new Intent(Basic.this.getContext(),DisplayBasicData.class); i.putExtra("header", R.string.action_settings); startActivity(i);

然后我尝试使用

获取价值

String text_point = getIntent().getStringExtra("header");

但它没有得到价值。

3 个答案:

答案 0 :(得分:0)

尝试使用Bundle

Bundle extras = new Bundle();
extras.putString("header", getResources().getString(R.string.action_settings));
i=new Intent(Basic.this.getContext(),DisplayBasicData.class);
i.putExtras(extras);
startActivity(i);

并在DisplayBasicData活动中提取:

String text_point = getIntent().getExtras().getString("header");

答案 1 :(得分:0)

您正在发送资源ID,而不是字符串

在这里你可以通过两种方式获得字符串:

第一种方式:

i.putExtra("header", R.string.action_settings);

int text_pointResourceId = getIntent().getIntExtra("header");
String text_point = getResources().getString(text_pointResourceId)

<强> secondWay:

i.putExtra("header", getResources().getString(R.string.action_settings));
String text_point = getIntent().getStringExtra("header");

希望有所帮助

最好不要直接发送数据,最好使用Bundle

答案 2 :(得分:0)

您只需按照以下方式传递该字符串,无需将数据放入数据包中。

Intent intent = new Intent(getActivity(), DisplayBasicData.class);
String myText = getActivity().getResources().getString(R.string.action_settings);
intent.putExtra("header", myText);
startActivity(intent);

然后您可以使用

检索该数据
String text_header = getIntent().getStringExtra("header");