0

各ボタンが特定のタスクを実行するボタン オプションを作成する必要があります。では、ボタンの選択を行う方法。私が試したコードはこちらです。

            Button b1      
        b1.setOnClickListener(new Button.OnClickListener(){

    public void onClick(View v) {
              if(v.getId()==R.id.button1)
              {      //do something
                       }
                      if(v.getId()==R.id.button2)
              {      //do something
                          }
                       });

単一のボタン機能の場合、このコードで正常に機能します。

           Button b1= (Button)findViewById(R.id.button1);        
        b1.setOnClickListener(new Button.OnClickListener(){

    public void onClick(View v) {
              if(v.getId()==R.id.button1)
              {      //do something
                       }
                      }});
4

5 に答える 5

3

たとえば、ボタンが 3 つ以上ある場合は、

まず第一に、あなたは実装していますOnClickListener

for ex. public class ImageViewer extends Activity implements OnClickListener{}

Button b1=(Button)findViewById(R.id.button01);
Button b2=(Button)findViewById(R.id.button02);
Button b3=(Button)findViewById(R.id.button03);

その後、

b1.setOnClickListener(this);
b2.setOnClickListener(this);
b3.setOnClickListener(this);

さて、あなたの実装onClick

public void onClick(View v) {

        switch (v.getId()) {

        case R.id.button01:
        //perform your task 
        break;
        case R.id.button02:
        //perform your task 
        break;
        case R.id.button03:
        //perform your task 
        break;
        }
        }

ボタンのクリック機能が 1 つしかないということは、

Button b1=(Button)findViewById(R.id.button01);

        b1.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                //perform your task
            }
        });
于 2012-06-08T10:33:55.580 に答える
1

このパターンを使用したい場合

if(v.getId()==R.id.button1)
{      
  //do something
}
if(v.getId()==R.id.button2)
{      
  //do something
}

クラスに「OnClickListener」を実装させ、「Onclick」メソッドを実装する必要があります。次に、リスナーをボタンに設定するには、以下を設定するだけです。

b1.setOnClickListener(this);
于 2012-06-08T10:30:53.487 に答える
0

これを試してください-

Button button = (Button) findViewById(R.id.button1);

    // Listening to Login Screen link
    button.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
             // do your stuff here
        }
    });

複数のボタンがある場合は、これを試してください-

public class buttonsexample extends Activity implements OnClickListener
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button b1 = (Button)findViewById(R.id.button1);
        Button b2 = (Button)findViewById(R.id.button2);
        Button b3 = (Button)findViewById(R.id.button3);
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) 
    {
        // TODO Auto-generated method stub
        int id = v.getId();
        if(id == R.id.button1)
        {
            // do your stuff here
        }else if(id == R.id.button2)
        {
            // do your stuff here
        }else if(id == R.id.button3)
        {
            // do your stuff here
        }
    }
}
于 2012-06-08T10:28:08.383 に答える
0
Button b1= (Button)findViewById(R.id.button1);        
        b1.setOnClickListener(new Button.OnClickListener(){

    public void onClick(View v) {
                      }});

Button b2= (Button)findViewById(R.id.button1);        
        b2.setOnClickListener(new Button.OnClickListener(){

    public void onClick(View v) {
                      }});

等々...

または代わりに

public class ABCActivity extends Activity implements OnClickListener {
Button b1= (Button)findViewById(R.id.button1); 
Button b2= (Button)findViewById(R.id.button2); 

b1.setOnClickListener(this);
b2.setOnClickListener(this);


@Override
    public void onClick(View v) {

        switch (v.getId()) {
        case R.id.button1:
            break;
        case R.id.button2:
            break;

    }
于 2012-06-08T10:28:52.367 に答える
0

OnClickListener を実装したくない場合は、このようにすることができます

Button b1= (Button)findViewById(R.id.button1);
Button b2= (Button)findViewById(R.id.button2);
b1.setOnClickListener(listen);
b2.setOnClickListener(listen);

OnClickListener listen=new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub


    switch (v.getId()) {

             case R.id.button1:
             //perform your task 
             break;
             case R.id.button2:
             //perform your task 
             break;
             }

        }
    };
于 2012-06-08T10:33:57.777 に答える