2012-10-07 63 views
1

我正在使用带有自定义布局文件的SimpleCursorAdapter。当我尝试在ListView中填充此布局时,项目不可点击。我把布局文件中的字段的android属性设置为clickable来尝试修复,但它不起作用。使用SimpleCursorAdapter的ListView不可点击

我认为默认情况下可点击属性为“true”。当我使用“android.R.layout.simple_list_item_1”中的默认布局文件时,列表中的项目可点击。我认为布局文件中的一个简单更改不应该干扰可点击的属性,但这是我所看到的。

此代码不起作用:

mSelection = mNotesAdapter.fetchAllNotes();  
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
      R.layout.note_row, mSelection, new String[] { "title"}, 
new int[] { R.mostrador.title});  
    setListAdapter(adapter); 

此代码:

mSelection = mNotesAdapter.fetchAllNotes();  
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
      android.R.layout.simple_list_item_1, mSelection, new String[] { "title"}, 
new int[] { R.mostrador.title});  
    setListAdapter(adapter); 

回答

0

1)你的第一个代码将无法工作,因为R.mostrador.title不是TextView的的布局android.R.layout.simple_list_item_1的ID 。尝试用android.R.id.text1替换它。

2)如果你想在你的ListView选择一个项目,你应该改变所选项目的背景:

<ListView 
    android:choiceMode="singleChoice" 
    android:drawSelectorOnTop="false" 
    android:listSelector="#cccccc" 
    .../> 
+0

感谢协。当我发布时,我忘记了更改android.R.id.text1。我试图按照你的建议去做,但是我的问题依然存在,:(。 – Helios

+0

我删除了我的项目,并且我写了一个新的,并且代码正常工作!XD – Helios

+0

Helios不要忘记接受答案,如果它很好。注意到你对另一个人说“谢谢”,但这是'在此'谢谢'某人的方式。 – vgoff