私は異なるコンポーネント(ラジオボタン、チェックボックス、ボタン対)を持つアプリケーションを持っています。そして、それらすべてを動的に作成しましたが、今は1つの問題があります。
ワンクリックイベントを全員で作成したのに、全員にイベントを作成することはできません。
私の英語が少し悪いことを許してください。でも、よろしくお願いします。私を助けてください
RadioButton rb ;
CheckBox cb;
Button btn;
public void MultiEvent (int clickId ){
if (clickId == 0) {
}else if (clickId == 1) {
}else if (clickId == 2) {
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rb = (RadioButton)findViewById(R.id.radioButton1);
cb = (CheckBox)findViewById(R.id.checkBox1);
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int clickId = 0;
MultiEvent (clickId );
}
});
rb.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int clickId = 1;
MultiEvent (clickId );
}
});
cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
int clickId = 2;
MultiEvent (clickId );
}
});
}
アクティビティに onclicklistener を実装しようとしましたか? その後、すべてのコンポーネントに対して onclicklistener を設定する必要があります。ただし、重要な点があります。ラジオボタンとチェックボックスには、独自のリスナー「setOnCheckedChangeListener」があります。使うべきだと思います。しかし、必要に応じて、このように OnClickListener を実装できます。
public class myActivity extends Activity implements OnClickListener {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1.setOnClickListener(this);
checkbox1.setOnClickListener(this);
radiobuton1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
//You can listen "click event" of button1 ,checkbox1 and radiobutton1 here.
}
}