0

ビューを切り替えるときにエラーが発生します。android:onClick="onClick"xmlのすべての画像ボタンにあります。これがコードです

    selfHelp = (ImageButton)findViewById(R.id.selfhelpButton);
    services = (ImageButton)findViewById(R.id.services);
    messages = (ImageButton)findViewById(R.id.mailButton);
    about = (ImageButton)findViewById(R.id.aboutButton);
    more = (ImageButton)findViewById(R.id.moreButton);
    selfHelp.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {               
                Intent myIntent = new Intent(view.getContext(), SelfHelp.class);
                startActivity(myIntent);
        }

    });
    Services.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {          
            Intent myIntent = new Intent(view.getContext(), Services.class);
            startActivity(myIntent);
        }

    });

    messages.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {               
            Intent myIntent = new Intent(view.getContext(), Messages.class);
            startActivity(myIntent);
        }

    });

    about.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {               
            Intent myIntent = new Intent(view.getContext(), About.class);
            startActivity(myIntent);
        }

    });

    more.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {               
            Intent myIntent = new Intent(view.getContext(), More.class);
            startActivity(myIntent);
        }

    });

ボタンが1つしかない別のページでこれを機能させましたが、画像ボタンが機能しません。どんな助けも素晴らしいでしょう

4

1 に答える 1

1

あなたには2つの選択肢があります

  1. デフォルトのonClick()メソッドandroid:onClick="onClick"をオーバーライドするときに、ボタンにクリックリスナーが既に設定されているため、各 ImageButton で削除します。
  2. すべてのsetOnclickListener()メソッドを削除し、ImageButtons に属性を追加します。

    android:onClick="onClick"   
    android:clickable="true"
    

アクティビティで次を使用します。

public void onClick(View v){
Intent i = null;
switch(v.getId()){
case R.id.services:
       i = new Intent(this,Services.class);
       startActivity(i);
       break;
case R.id.mailButton:
..........
break;

}
于 2012-06-21T15:00:22.927 に答える