Android ListView字符串样式



我想知道我是否可以添加一些样式在列表视图中使用的字符串?我尝试过使用转义码的html格式,我似乎得到的都是显示的代码,但实际上并没有做我想要的。我想在LISTVIEW中的字符串是粗体,然后换行不粗体,如果可能的话,一个较小的字体。我目前有BOLD代码,但似乎没有做任何事情,也没有给我任何格式错误。

ListView menuList = (ListView) findViewById(R.id.ListView_Menu);
String[] items = 
{ 
   getResources().getString(R.string.menu_item_one),
   getResources().getString(R.string.menu_item_two),
   getResources().getString(R.string.menu_item_three),
   getResources().getString(R.string.menu_item_four),
   getResources().getString(R.string.menu_item_five),
   getResources().getString(R.string.menu_method_six), 
 };
 ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, 
   R.layout.menu_item, items);
 menuList.setAdapter(adapt);

字符串看起来像这样

<string name="menu_item_one"><b>This should be BOLD</b>nSshould should not be be bold and smaller font if possible</string>
<string name="menu_item_two"><b>This should be BOLD</b>nSshould should not be be bold and smaller font if possible</string>
<string name="menu_item_three"><b>This should be BOLD</b>nSshould should not be be bold and smaller font if possible</string>
<string name="menu_item_four"><b>This should be BOLD</b>nSshould should not be be bold and smaller font if possible</string>
<string name="menu_item_five"><b>This should be BOLD</b>nSshould should not be be bold and smaller font if possible</string>
<string name="menu_item_six"><b>This should be BOLD</b>nSshould should not be be bold and smaller font if possible</string>

尝试使用getResources().getText()代替,并让您的其他变量为CharSequence[]ArrayAdapter<CharSequence>。这将一直保持XML声明中的格式,直到在每个列表项的视图上设置文本为止。

为了清楚起见,我以这种方式重写了您的代码示例:

ListView menuList = (ListView) findViewById(R.id.ListView_Menu);
CharSequence[] items = 
{ 
   getResources().getText(R.string.menu_item_one),
   getResources().getText(R.string.menu_item_two),
   getResources().getText(R.string.menu_item_three),
   getResources().getText(R.string.menu_item_four),
   getResources().getText(R.string.menu_item_five),
   getResources().getText(R.string.menu_item_six), 
};
ArrayAdapter<CharSequence> adapt = new ArrayAdapter<CharSequence>(this, R.layout.menu_item, items);
menuList.setAdapter(adapt);

希望有帮助!

最新更新