2014-09-23 59 views
-1

我已經創建了一個自定義列表視圖,其中使用了兩個文本視圖和一個圖像視圖(顯示列表項最喜歡與否)。如果有人選擇該項目作爲收藏夾,則圖像視圖將出現,否則將不顯示。 SQLite數據庫用於存儲收藏夾列表項目。並且使用這個DB列表視圖被填充。所有工作正常,但是當我將列表項目標記爲突然出現在該項目列表中的圖片視圖時,將不會顯示該列表項目,但SQLite數據庫將使用此新項目列表進行更新,以便當我重新加載同一頁面時,它將顯示爲收藏項目。我怎樣才能解決這個問題?自定義列表視圖:與特定項目相關

+0

沒有提供你嘗試過/代碼,你認爲你會得到建議/解決方案? – 2014-09-23 09:58:16

+0

好的...我張貼我的代碼。 – 2014-09-23 10:03:05

+0

每次它說我都不能發佈我的代碼,請寫一些上下文來解釋代碼。 – 2014-09-23 10:32:55

回答

1

您可能需要提供一些示例代碼,但您可以通過onclick使項目的視圖失效或通過向適配器通知更改更簡單的方法來重新繪製listview項目的自身。

例如

@Override 
public void onCreate(Bundle savedInstance) 
{ 
    ... 
    MyAdapter myAdapter = new MyAdapter(this); 
    ListView listView = (ListView) findViewById(R.id.list_view); 
    listView.setAdapter(myAdapter); 

    listView.setOnItemClickListener(new OnItemClickListener() 
    { 
     @Override 
     public void onItemClick(AdapterView<?> adapter, View listItemView, 
      int position, long id) 
     { 
      ... 
      adapter.notifyDataSetChanged(); 
      ... 
     } 
    } 
} 

這不是一個完美的解決方案,但給你一個想法。

+0

好的....感謝你的回覆 – 2014-09-23 09:42:51

+0

上次我在類中只有getter函數,以便創建getter和setter類,它用於存儲兩個字符串字段。還有一個用於查找最喜歡或不喜歡的布爾變量。通過查找列表項,我可以更新它,因爲我只需要更改布爾變量。更新arraylist後,我調用notifyDataSetChanged();由於哪個列表再次被反映而沒有重新加載活動。我希望這會有所幫助。 – 2015-02-04 11:29:41