2013-05-26 117 views
0

我有一個自定義列表視圖適配器和適配器類中的圖像按鈕。當我點擊圖像按鈕時,監聽器應該重新加載列表視圖。我需要重新加載適配器類的getview()中的列表視圖。所以我需要知道其他選項,而不是在我的listActivity類中使用notifyDataSetChanged()。android getview()中刷新listview適配器()

感謝

+0

你需要你的適配器 – Raghunandan

+0

上調用notifyDataSetChanged()我不能適配器類方法getView中調用這個()。我正在調用適配器的get view()方法中的圖像按鈕單擊偵聽器,因爲我需要刷新列表視圖。 – Riny

回答

1

你想更新列表視圖中的單元格或你想刷新整個列表視圖,如果單個行內getView加載()?

檢查了這一點: Android ListView Refresh Single Row

+0

我想刷新適配器類中的getView()方法中的整個listview。 – Riny

+1

最後我得到了它,用來再次啓動列表視圖活動。這在使用適配器上下文的適配器類中是可能的。 – Riny

+1

請使用notifyDataSetChanged();在你的getView中。 – Swapnil

0

創建這就要求其重新加載列表視圖,並在需要時從該適配器將消息發送到該處理程序的方法活動中的靜態處理程序。

handler = new Handler() { 
      public void handleMessage(Message paramAnonymousMessage) { 
       switch (paramAnonymousMessage.what) { 
       case 1: 
        populateList(); 
        break; 
       } 
      } 
     }; 



public void populateBill() { 
      MyBasketAdapter adapter = new MyBasketAdapter(this, basketList); 
      listView = (ListView) findViewById(android.R.id.list); 
      listView.setAdapter(adapter); 
} 

在適配器類中。例如,

button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

        Message msg = Message.obtain(); 
        msg.what = 1; 
        MyActivity.handler.sendMessage(msg); 
      } 
     }); 
0

這是非常簡單的只寫在你的適配器類的方法,並調用它得到視圖,當你刪除或添加在列表中任何你所綁定到您的adapter.and使用變更後notifyDataSetChanged名單

public void updateResults(ArrayList<CustomList> results) { 
      // assign the new result list to your existing list it will work 
          notifyDataSetChanged(); 
          }