我在我的活動和每行Im有一個ListView使用我的自定義佈局與TextView和兩個按鈕。當我點擊這兩個按鈕中的任何一個時,我想要執行某個動作。在我的ArrayAdapter中,在getView方法中,我將onClickListeners設置爲這兩個按鈕。Android ListView自定義佈局
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
v = li.inflate(R.layout.process_row, null);
}
final Button processCheck = (Button) v.findViewById(R.id.processCheck);
processCheck.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (process.isChecked() == false) {
process.setChecked(true);
processCheck.setBackgroundColor(Color.BLUE);
}
else {
process.setChecked(false);
processCheck.setBackgroundColor(Color.RED);
}
}
});
return v;
}
ArrayList保存mz自定義類的對象進程和進程在代碼中是這個類的一個實例。所以,現在當我在其中一個ListView行中單擊這個按鈕時,我希望改變給定Process實例中的布爾變量並更改按鈕的顏色。發生這種情況,但不僅僅是這一行,還有3-4次。所以點擊後,我有5個改變的按鈕,而不是一個。你知道我在這裏做錯了什麼嗎?請注意,我不太瞭解ListActivity編碼,大部分代碼實際上是從示例文件中複製和編輯的。謝謝!
編輯:
該問題可能只與佈局的地方。當我點擊按鈕時,它們中的更多顏色會改變,但只有我單擊的過程的布爾值發生了變化。
http:// w ww.android-ios-tutorials.com/770/create-custom-listview-in-android/ – Houcine