2017-07-18 57 views
0

我有一個GridView填充TextViews。我希望它能夠在用戶單擊TextView時將TextView從GridView中移除,並且從該ArrayList中移除該TextView中顯示的字符串。這最初在Java中工作,但當轉換爲Kotlin時,它停止工作,現在只刪除第一個項目,無論點擊哪個項目。GridView僅在單擊項目時刪除第一個項目。 Java-> Kotlin

這裏是科特林代碼:

grid_view!!.onItemClickListener = AdapterView.OnItemClickListener { _, _, _, _ -> 
    val selectedItem = (tag_name as TextView).text.toString() 
    itemList.indices.forEach { 
     Log.d("Update", "Removing: " + selectedItem) 
     itemList.removeAll { it == selectedItem } 
    } 
} 
+0

嗨,什麼是錯的你? –

+0

我意識到,事實上,我有兩個單獨的,無關的問題。所以我認爲第二個問題需要自己的問題,因爲原來的問題是固定的,謝謝你。 – Roc47HS

回答

1

我覺得我在你前面的問題已經回答。如果您不知道該怎麼做,我很樂意幫助您解決問題。首先,我不是一個Android開發者,但我認爲你需要獲得來自OnItemClickListenerposition並沒有需要的for循環做這樣的事情,例如:

grid_view!!.onItemClickListener = AdapterView.OnItemClickListener { _, _, pos, _ -> 
    itemList.remove(pos) 
    //by convention in android you should operate view on an adapter rather than UI 
    //      v 
    your_grid_view_adapter.run{ 
     remove(pos) 
     notifyDataSetChanged() 
    } 
} 
+0

嗨,我不太瞭解你在另一個問題的評論中的答案。但我明白你的答案,現在它完美運作。謝謝! – Roc47HS

+0

@ Roc47HS對不起,我的英語不好,我很困惑,我來自中國,:) –

相關問題