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");
但它没有得到价值。
答案 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");