2012-03-01 49 views
-1

我已經花了近3小時,試圖使這項工作,很抱歉,如果我忘記郵東西...在我的ListView打勾CheckedTextViews和勾去掉自己

這裏的問題:

  • 我使用了一個ListView,它具有一個自定義的BuddyArrayAdapter,它可以擴展包含並排圖像和CheckedTextView的XML。我想只有一個選擇,所以我將它設置爲使用SINGLE_CHOICE。

(假裝&符號是圖像和支架是checkedtextview的複選框。)

//my list looks like this 

    & name1Here   [] 

    & name2Here   [] 

    & name3Here   [] 

    & name4Here   [] 

我會後,明天的代碼,但這裏是我一直在經歷。 - 如果我在listView的onItemClick()中使用getChildAt(),隨機孩子檢查和關閉,但在點擊足夠的點擊後,最終取消選中。 - 如果我在適配器的getView()中實現了checkedTextView.onClick(),我爲listview中的每一行獲得了nullpointerexceptions。 - 如果我做了其他任何有意義的事情,在選擇一行時,複選框會打勾並立即剔除自身,就好像我沒有點擊一樣。但它仍然是「點擊」,因爲我可以用listView.getCheckedItemPosition()

我已經查看了代碼,並且我沒有在任何地方調用toggle()。我擁有的唯一clickListener在列表中。

基本上,這是它看起來像現在

 public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
     { 
      listConversations.setItemChecked(position, true); 
      Log.d("<>>>>>>>>>>>>>>>>>>>>>>>>>>>", "listConversations.getCheckedItemPosition() = "+listConversations.getCheckedItemPosition()); 

      listConversations. 


      OnContactClick(position, id); 
     } 

記錄的號碼是正確的。然而,即使採用這種愚蠢的方法,CheckedTextView的可檢查部分仍然會在一次點擊時打勾/剔除自身。這是我今天的最後一次嘗試,因爲我預計列表視圖將勾選所有其他人,但不會。要麼我有更多的方法,要麼沒有。

如果你仍然不明白這個問題 - 我搞砸了這個地獄,並且不能使它的勾號工作像它應該的那樣?!?!

請幫忙。我在這個荒唐的事情上浪費了3個小時。我很絕望。

lastminuteadd:看起來像我遇到的同類問題,因爲這傢伙 ListView: setItemChecked only works with standard ArrayAdapter - does NOT work when using customized ArrayAdapter?

回答

0

因爲沒有人回答我想我得...

訣竅是做一個包裝類實現Checkable。如果缺少包裝類,則可以製作包裝類...