0
我正在使用數組添加一個自定義視圖。通過膨脹佈局並將這些元素添加到ViewGroup中,如圖中所示,數組元素被初始化。 當我設置onClickListener的方式,使點擊視圖的背景爲重音顏色它發生,但爲了使其相互排斥,以便一旦點擊了一個視圖,其他視圖的背景應該變得透明,因爲它們原來是我用過的下面的代碼但是當我點擊視圖時,我的應用程序停止響應。如果我的方法不正確請建議我以正確的方式獲得所需的結果。在android中添加自定義視圖的數組並設置onClickListener互斥
這應該發生:
這不應該發生:
if(noOfChild>1) {
for (j = 0; j < noOfChild; j++) {
LayoutInflater inflater = (LayoutInflater) getSystemService(getApplicationContext().LAYOUT_INFLATER_SERVICE);
childButton[j] = (inflater.inflate(R.layout.child_selection_button, null));
childButton[j].setId(j);
children.addView(childButton[j], new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1.0f));
childButton[j].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setBackgroundColor(ContextCompat.getColor(MainScreen.this, R.color.dimAccent));
// for (int k =0;k<noOfChild;k++){
// while(k!=v.getId()){
// childButton[k].setBackgroundColor(ContextCompat.getColor(MainScreen.this, R.color.transparent));
// }
// }
}
});
}
}