2012-10-07 2 views
1

맞춤 레이아웃 파일과 함께 SimpleCursorAdapter를 사용하고 있습니다. 이 레이아웃을 ListView에 채우려고하면 항목을 클릭 할 수 없습니다. 클릭 할 수있는 레이아웃 파일에 필드의 android 특성을 넣어 수정하려고했지만 작동하지 않습니다.SimpleCursorAdapter를 사용하는 ListView는 클릭 할 수 없습니다.

기본적으로 clickable 속성은 "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 레이아웃 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

감사 HIEP을. 나는 게시했을 때 android.R.txt1을 바꾸는 것을 잊었다. 나는 당신이 제안한 것을 해보려고했지만 내 문제는 계속된다. ( – Helios

+0

나는 내 프로젝트를 지웠고 새로운 것을 썼고 코드는 작동했다! XD – Helios

+0

헬리오스는 그것이 좋으면 대답을 받아들이는 것을 잊지 않는다. "감사합니다"라고 다른 사람이 말한 것을 눈치 챘지만 여기 누군가에게 '감사'하는 방법입니다. – vgoff