【发布时间】:2015-07-17 16:22:26
【问题描述】:
首先,根据用户的操作,我想从我的 strings.xml 资源文件中检索某个字符串:
String option1 = context.getString(R.string.string_one)
String option2 = context.getString(R.string.string_two)
String option3 = context.getString(R.string.string_three)
然后,我将这些字符串作为String[] options 传递给自定义adapter 以获得ListView
我在哪里设置TextView的文本
public ChoicesAdapter(Context context, String[] options) {
super(context, R.layout.choice_option_layout_2,choices);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater MyInflater = LayoutInflater.from(getContext());
View MyView = MyInflater.inflate(R.layout.option_list_layout, parent, false);
String option = getItem(position);
TextView textView = (TextView) MyView.findViewById(R.id.textView);
textView.setText(Html.fromHtml(option));
return MyView;
}
我希望我的 strings.xml 文件中的不同字符串具有不同的颜色或不同的格式。例如,这是我的字符串之一:
<string name ="exit"><![CDATA[<i>exit</i>]]></string>
但是,当这个字符串显示在屏幕上时,它显示为:"<i>exit</i>"
所以,我猜测我的方法中的某个地方丢失了 string.xml 资源的格式。我怎样才能得到它而不是显示"<i>exit</i>",而是在屏幕上显示“exit”?
我在想我的问题是我在哪里使用.getString()。这是否以某种方式忽略了我在 .xml 文件中添加的格式?
【问题讨论】:
-
你的问题有一个很好的格式化代码
-
这仍然是一个问题吗?如果是,请查看下面的答案,TextView 可以使用 Spannable 进行格式化
标签: java android xml string android-resources