如何在android中的多个选择模式下设置列表视图中已检查项目的背景

suj*_*ith 4 android

我有一个 ListActivity

public class MyActivity extends ListActivity{

    protected void onCreate(Bundle savedstate){
        super.onCreate(savedstate);
        getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
        getListView().setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {


        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            Log.i("xxx", "onPrepareActionMode");
            return false;
        }


        public void onDestroyActionMode(ActionMode mode) {
            // TODO Auto-generated method stub

        }


        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            // TODO Auto-generated method stub
            return true;
        }


        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            // TODO Auto-generated method stub
            return false;
        }


        public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
            Log.i("xxx", "pos: "+position+", checked: "+checked);
            mode.setTitle(getListView().getCheckedItemCount()+" checked");

        }
    });
    }

}
Run Code Online (Sandbox Code Playgroud)

在这里,我可以看到检查的项目,但检查项目的背景不会改变.我知道如何做到这一点,让你CustomAdapter和你getView()设置被检查的视图的背景.但我相信有更简单的方法来处理它.你有没有告诉我是否有实现它?

附上截图

suj*_*ith 12

好的,我通过浏览其他应用程序的源代码得到了答案.将可绘制的州列表设置为列表项的背景.在选择器中state_activated = true给出背景可绘制.