我必须创建按钮选项,其中每个按钮执行特定任务。那么如何选择按钮呢。我试过的代码就在这里。
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
}
}});
答案 0 :(得分: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
}
});
答案 1 :(得分:1)
如果您想使用此模式
if(v.getId()==R.id.button1)
{
//do something
}
if(v.getId()==R.id.button2)
{
//do something
}
你必须让你的类实现“OnClickListener”并实现“Onclick”方法。 然后,要将监听器设置为按钮,您只需设置:
b1.setOnClickListener(this);
答案 2 :(得分: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
}
}
}
答案 3 :(得分: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;
}
答案 4 :(得分: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;
}
}
};