私は、相対レイアウト内のチェックボックスを使ってレイアウトを設計しようとしています。相対レイアウトはクリック可能で、想定通りに機能しますが、チェックボックスをクリックすると、チェックボックスコードと相対ビューコードが実行されます。Clickable相対レイアウトのチェックボックスをクリックする
チェックボックスの実行中に相対レイアウトのOnClickListener
を無視することはありますか?
RelativeLayout holder = new RelativeLayout(context);
contactHolder.setId(View.generateViewId());
TextView name = new TextView(context);
final CheckBox checkBox = new CheckBox(context);
checkBox.setId(View.generateViewId());
name.setText(contact.getName());
name.setId(View.generateViewId());
holder.addView(name);
holder.addView(checkBox);
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!checkBox.isChecked()) {
checkBox.setChecked(true);
}
else if (checkBox.isChecked()){
checkBox.setChecked(false);
}
}
});
holder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!checkBox.isChecked()) {
checkBox.setChecked(true);
}
else if (checkBox.isChecked()){
checkBox.setChecked(false);
}
}
});
userView.addView(holder);
}
レイアウトコードを投稿できますか?リスナーを相対レイアウトに置くことは、とても良い考えのようには思えません。おそらくそれを行うより良い方法があります。 –
@WillEvers相対レイアウトの全領域をクリック可能にしたいので、そこに 'OnClickListener'を設定し、checkBoxのdoubleトグルを除いて動作します。 –