2014-11-10 4 views
0

내보기에 사용자 지정 배열 어댑터와 레이아웃을 사용하고 있습니다. 사용자 지정보기의 목록 항목에는 문제없이 작동하는 다른 단추가 있습니다. 그러나 각 목록 항목을 선택하고 오랫동안 누를 때 CAB를 표시하려고합니다. 어떤 이유로 사용자 정의보기와 함께 CAB를 사용하면 CAB이 나타나지 않습니다. 그러나 String Array 어댑터를 사용하는 줄의 주석을 제거하면 제대로 작동합니다.ListView CAB가 길게 누르기에 나타나지 않습니다.

String[] ITEMS = new String[] { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6" };  
datasource = new FavoritesDataSource(this); 
datasource.open(); 
tempList = datasource.getAllFavorites(); 
myAdapter = new FavoritesArrayAdapter(this, tempList); 
datasource.close(); 

ListView lv = getListView(); 
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); 
lv.setMultiChoiceModeListener(new ModeCallback()); 

setListAdapter(myAdapter); 
//setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1, ITEMS)); 

내가 뭘 잘못하고 있는지 잘 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다. 감사합니다

답변

0

많은 시간을 디버깅 한 후에 문제는 정말 간단하게 나왔습니다. 사용자 지정 목록보기에서 사용자 지정 어댑터를 클릭 할 수있는 단추가있는 사용자 지정 어댑터를 사용하면 목록보기에서 상위 목록보기 항목을 클릭 할 수 없으며 상위 목록보기 항목을 선택하거나 클릭하지 않게됩니다. 당신의 custom_list_view_item.xml에서 당신이 부모의 ListView 항목 클릭 할 수 있습니다 당신은 너무 당신의 ListView 항목의 하위 항목을 클릭 할 수 있습니다

android:descendantFocusability="blocksDescendants" 

부모보기에이 속성을 추가해야합니다. 희망이 도움이됩니다.