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

您只有一个按钮单击功能意味着,

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 回答