0

私は異なるコンポーネント(ラジオボタン、チェックボックス、ボタン対)を持つアプリケーションを持っています。そして、それらすべてを動的に作成しましたが、今は1つの問題があります。

ワンクリックイベントを全員で作成したのに、全員にイベントを作成することはできません。

私の英語が少し悪いことを許してください。でも、よろしくお願いします。私を助けてください

4

2 に答える 2

0
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 );
        }
    });


}
于 2013-03-11T15:48:01.933 に答える
0

アクティビティに 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.

}

}
于 2013-03-11T15:35:30.940 に答える