ListView
Listedeki her öğenin bir TextView ve iki farklı Düğme içerdiği bir yerim var . Bunun gibi bir şey:
ListView
--------------------
[Text]
[Button 1][Button 2]
--------------------
[Text]
[Button 1][Button 2]
--------------------
... (and so on) ...
Bu kod ile OnItemClickListener
tüm öğe için bir oluşturabilirsiniz :
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> list, View view, int position, long id) {
Log.i(TAG, "onListItemClick: " + position);
}
}
});
Ancak, tüm öğenin tıklanabilir olmasını istemiyorum, ancak her liste öğesinin yalnızca iki düğmesi var.
Benim sorum şu, bu iki düğme için bir onClickListener'ı aşağıdaki parametrelerle nasıl uygularım:
int button
(öğenin hangi düğmesi tıklanmışsa)int position
(listedeki düğme tıklamasının gerçekleştiği öğedir)
Güncelleme: Aşağıdaki cevabımda açıklandığı gibi bir çözüm buldum. Şimdi dokunmatik ekran üzerinden düğmeye tıklayabilir / dokunabilirim. Ancak, topunu elle seçemiyorum. Her zaman tüm liste öğesini seçer ve hatta Sette olsa düğmeleri görmezden sonraki liste öğesine doğrudan gitmektedir .setFocusable(true)
ve setClickable(true)
düğmelerin getView()
.
Ayrıca bu kodu özel liste bağdaştırıcıma ekledim:
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
return false;
}
Bu, artık hiçbir liste öğesinin seçilememesine neden olur. Ancak, iç içe düğmelerin seçilebilir olmasına yardımcı olmadı.
Bir fikriniz var mı?