我用simple_list_item_multiple_choice
声明了我的数组适配器,并且复选框显示在列表中,但是看起来当添加新项目时,背景颜色不会随新项目向下移动而是适用于新项目。
final ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, todoItems);
myListView.setItemsCanFocus(false);
myListView.setChoiceMode(myListView.CHOICE_MODE_MULTIPLE);
...
myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int i, long l) {
if(myListView.isItemChecked(i)){
Toast.makeText(getBaseContext(), "You checked " + todoItems.get(i), Toast.LENGTH_SHORT).show();
view.setBackgroundColor(Color.LTGRAY);
}
else{
Toast.makeText(getBaseContext(), "You unchecked " + todoItems.get(i), Toast.LENGTH_SHORT).show();
}
}
});
我尝试使用view
和myListView
更改背景颜色,但都没有效果。看起来这些物品没有与背景颜色相关联......
答案 0 :(得分:0)
当我想修改listview的外观时,我必须手动进入simple_list_item_one
的xml文件(在你的情况下为simple_list_item_multiple_choice
)。我用不同的名字制作了该文件的副本。我修改了副本,使listview看起来像我想要的。它基本上是一个矩形的相对布局,因此通过它真的不是那么难。
答案 1 :(得分:0)
确保您将此属性用于XML中的ListView
机器人:cacheColorHint = “#00000000”