有两种方法可以做到这一点。1.覆盖getView方法2.使用自定义布局而不是标准布局。
2 号更好,因为您可以对其进行更多控制,并且可以轻松编辑。
Alt+Click
将所需的布局克隆到您的res/layout
文件夹。对新布局进行更改并在适配器中使用它。
ArrayAdapter aa = new ArrayAdapter(getApplicationContext(),R.layout.text_change,listItems);
listView.setAdapter(aa);
这里 listItems 是列表的 String 数组。text_change.xml 是更新后的布局 xml listView 是主布局中的列表视图。
为了动态更新内容的颜色,请使用以下代码
AdapterView.OnItemClickListener itemClickListener = new AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(position==0)
{
//Intent intent = new Intent(CoffeeShop.this,DrinkCategoryActivity.class);
//startActivity(intent);
TextView txtV = (TextView)view;
txtV.setTextColor(Color.BLUE);
}
else
{
TextView txtV = (TextView)view;
txtV.setTextColor(Color.YELLOW);
Toast toast = Toast.makeText(getApplicationContext(),(CharSequence)"These Methods are yet to be made public", Toast.LENGTH_SHORT);
toast.show();
}
}
};
ListView listView = (ListView)findViewById(R.id.list_opt);
listView.setOnItemClickListener(itemClickListener);
为视图添加 onclicklistner 将允许在单击时更新文本的颜色。您可以添加相应的逻辑来显示文本的颜色。