我的布局中有两个ImageButtons,“plus”和“minus”。 我在点击功能中将一个点击监听器附加到“加号”按钮并带有一个简单的Toast消息,它可以工作。
ImageButton btplus = (ImageButton)findViewById(R.id.btplus);
btplus.setOnClickListener( new ImageButton.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "+", Toast.LENGTH_SHORT);
}
});
然后我将第二个点击监听器附加到减去ImageButton ...
ImageButton btminus = (ImageButton)findViewById(R.id.btminus);
btminus.setOnClickListener( new ImageButton.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "-", Toast.LENGTH_SHORT);
}
});
...没有按钮点击工作了! “加”点击停止工作。
我在这个主题上看过很多例子,但我看不出它们(工作)和我的有什么区别。
答案 0 :(得分:10)
例如多个按钮点击监听器......
ImageButton btminus = (ImageButton)findViewById(R.id.btminus);
btminus.setOnClickListener(this);
ImageButton btplus = (ImageButton)findViewById(R.id.btplus);
btplus.setOnClickListener(this);
那么你的活动想要实现onclicklistener,你得到的实现方法是:
public void onClick(View v) {
switch (v.getId()) {
case R.id.btplus:
Toast.makeText(getApplicationContext(), "Plus is clicked" + "+", Toast.LENGTH_SHORT).show();
break;
case R.id.btminus:
Toast.makeText(getApplicationContext(),"Minus is clicked" + "-", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
答案 1 :(得分:7)
ImageButton btplus = (ImageButton)findViewById(R.id.btplus);
btplus.setOnClickListener( new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "+", Toast.LENGTH_SHORT).show();
}
});
答案 2 :(得分:1)
在XML布局中注册onClick事件,然后在代码中处理它。我就是这样做的:
<Button
android:id="@+id/btplus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click me"
android:onClick="onBtnClicked">
</Button>
.class中的方法
public void onBtnClicked(View v) {
switch (v.getId()) {
case R.id.btplus:
Toast.makeText(getApplicationContext(), "Plus is clicked" + "+", Toast.LENGTH_SHORT).show();
break;
case R.id.btminus:
Toast.makeText(getApplicationContext(),"Minus is clicked" + "-", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}