2017-06-02 41 views
-2

我有一個自定義適配器從BaseAdapter繼承,並且我有一個不同的.java文件中的ListView。基本上我點擊一個按鈕,這就調用了自定義適配器。所以當應用程序第一次加載第一次時,我點擊按鈕,沒關係。在隨後的每次點擊中,項目(保留訂單)都會複製項目的編號和內容。我相信有一些錯誤的重寫getView方法:自定義BaseAdapter重複ListView中的項目

public View getView(int position, View convertView, ViewGroup parent) {} 

但是我不知道該視圖convertView是否被設置爲任何時候項目已經能夠顯示在ListView上。所以我把支票放在那裏:

if (view == null) {} 

我認爲這個檢查是問題的根源。

任何幫助將不勝感激。

這裏是要點的SharedResourcesAdapter,自定義適配器類: https://gist.github.com/serceberka/f34c8f3339ef9e4bc9dc23d3ac8f74c4

這裏是要點到SharedResources AppCompatActivity其中適配器被設置: https://gist.github.com/serceberka/ea9fc73b42a9d271e6fbac7d7793667f (你會在pageLoad的類找到它它擴展了AsyncTask)

+0

請不要只連接到您的代碼異地。你需要在問題本身中包含[mcve]。 –

+0

是的,我下次會這樣做。 – 4blun3kin

+0

如果你不打算把問題放在代碼中,那麼你可以直接刪除它。 –

回答

0

問題已解決。

基本上自定義適配器本身沒有問題,問題是我正在閱讀列表中的項目並在每次發送新查詢時更新列表。爲了解決這個問題,我在添加項目之前清除了列表,以避免重複項目(即來自相同的搜索查詢)或保留來自先前查詢的項目。