Android ListView元素未被选中
我有一个ListViewFragment类,它被配置为选择单模式。我正在使用自定义游标适配器填充listView。问题是,当我从LV中选择某个内容时,它不会被蓝色背景突出显示。但是,只有文本变为粗体。代码:Android ListView元素未被选中,android,listview,Android,Listview,我有一个ListViewFragment类,它被配置为选择单模式。我正在使用自定义游标适配器填充listView。问题是,当我从LV中选择某个内容时,它不会被蓝色背景突出显示。但是,只有文本变为粗体。代码: public class CategoryFragment extends ListFragment{ int lastPosition; DatabaseControl db; OnCategorySelectedListener callBack; CategoryCursorAdap
public class CategoryFragment extends ListFragment{
int lastPosition;
DatabaseControl db;
OnCategorySelectedListener callBack;
CategoryCursorAdapter cursorInstance;
public interface OnCategorySelectedListener{
public void onCategorySelected(int categoryName);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
db=new DatabaseControl(this.getActivity());
db.open();
getListView().setFastScrollEnabled(true);
cursorInstance=new CategoryCursorAdapter(getActivity(), db.getCategoryCursor(""), CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER, "category_name",0, db);
getListView().setAdapter(cursorInstance);
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
this.setListShown(true);
this.getListView().setOnItemLongClickListener(listViewLongClick);
if(savedInstanceState!=null)
getListView().setItemChecked(savedInstanceState.getInt("position"), true);
}
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
try{
callBack=(OnCategorySelectedListener) activity;
}
catch(ClassCastException e){
throw new ClassCastException(activity.toString()+" must implement OnCategorySelectedListener");
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putInt("position", lastPosition);
}
按照以下步骤创建ListView选择器
- 首先,您必须在drawable文件夹中为ListView行创建一个选择器
list\u selector.xml
您还可以检查我的是否创建了列表选择器?否。如何设置?请给我举个例子
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" android:state_activated="true"/>
<item android:drawable="@android:color/black"/>
</selector>
mListView = (ListView) findViewById(R.id.listView);
mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
MyAdapter mAdapter = new MyAdapter();
mListView.setAdapter(mAdapter);
mListView.setSelection(0); // setting 0th position selected by default
mListView.setItemChecked(0, true);