您好我在两个活动之间共享strings.xml中的一些字符串。在第一个我有代码:
public void onClick(View v)
{
Intent intent;
switch (v.getId())
{
case R.id.shops_id:
intent = new Intent(this, TitleContent.class);
intent.putExtra("content", getString(R.string.shop_content));
startActivity(intent);
break;
}
}
在第二个中,我收到的数据如下:
Intent intent = getIntent();
String content1 = intent.getStringExtra("content");
TextView content = (TextView)findViewById(R.id.contentID);
if(content1!=null){
content.setText(content1);
}
XML看起来像:
<resources>
<string name="shop_content"><b>bold content</b></string>
</resources>
问题是在共享数据期间,html标签丢失了。我尝试使用getText而不是getString,但它不起作用。在接收活动时,我尝试使用.setText(Html.fromHtml(somestring));
,但它不起作用。
答案 0 :(得分:0)
问题是在共享数据期间html标签丢失了
在字符串资源中读取时,如果您有基本的HTML标记,那么这些标记将被解释并应用于结果。但是,只有在您使用getResources().getText(R.string.shop_content)
而不是getString()
时,以及使用getCharSequenceExtra()
代替getStringExtra()
时才有效。
或者,将R.string.shop_content
作为int
额外传递,因此第二项活动可以使用setText(getIntent().getIntExtra("content"))
。
(顺便说一下,最好将额外的键定义为常量,例如static final String EXTRA_CONTENT="content"
,这样两个活动都使用相同的键)