0

我用 a 声明了我的数组适配器,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();
            }
        }
    });

我尝试使用viewand更改背景颜色myListView,但均未成功。似乎这些项目没有与背景颜色链接......

4

2 回答 2

0

当我想修改列表视图的外观时,我必须手动进入 xml 文件simple_list_item_onesimple_list_item_multiple_choice在您的情况下)。我用不同的名称制作了该文件的副本。我修改了该副本以使列表视图看起来像我想要的那样。它基本上是一个矩形的相对布局,所以通过它真的不难。

于 2013-06-20T04:33:37.363 回答
0

确保您的 ListView 在 XML 中具有此属性

安卓:cacheColorHint="#00000000"

于 2013-06-20T04:51:08.560 回答