android中的按钮点击操作?
我有两个安卓系统的按钮。Btn1和Btn2。我需要在默认情况下显示Btn1,当单击时,我需要显示Btn2代替Btn1。又当 单击Btn2时,应将其替换为Btn2。请帮我举个例子 我的代码:android中的按钮点击操作?,android,Android,我有两个安卓系统的按钮。Btn1和Btn2。我需要在默认情况下显示Btn1,当单击时,我需要显示Btn2代替Btn1。又当 单击Btn2时,应将其替换为Btn2。请帮我举个例子 我的代码: btn1 = (ImageView) findViewById(R.id.firstbtn); btn2 = (ImageView) findViewById(R.id.secondbutton); btn2.setVisibility(ImageView.GONE);
btn1 = (ImageView) findViewById(R.id.firstbtn);
btn2 = (ImageView) findViewById(R.id.secondbutton);
btn2.setVisibility(ImageView.GONE);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btn2.setVisibility(ImageView.VISIBLE);
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btn2.setVisibility(ImageView.GONE);
}
});
提前感谢您可以使用同一按钮,交替更改其标签,并根据级别进行检查并执行相应的工作 根据您更新的代码,了解您正在使用ImageView,因此请尝试以下操作
ImageView btn = (ImageView) findViewById(R.id.secondbutton);
btn.setTag("1");//can use one empty String "" and null instead of "1" and "2" for optimization
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Object obj = v.getTag();
if(obj instanceof String){
if("1".equals(obj)){
v.setTag("2");
//Your first button state
}else if("2".equals(obj)){
v.setTag("1");
//Your second button state
}
}
如果您的案例特定于两个按钮,则可以使用两个字符串比较操作
ImageView btn = (ImageView) findViewById(R.id.secondbutton);
btn.setTag(null);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(v.getTag() instanceof String){
v.setTag(null);
//Your first button state
} else {
v.setTag("");
//Your second button state
}
如果你想让你的代码正常工作
btn1 = (ImageView) findViewById(R.id.firstbtn);
btn2 = (ImageView) findViewById(R.id.secondbutton);
btn2.setVisibility(ImageView.GONE);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(ImageView.GONE);
btn2.setVisibility(ImageView.VISIBLE);
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.setVisibility(ImageView.GONE);
btn1.setVisibility(ImageView.VISIBLE);
}
});
您可以在布局中创建两个位置相同的按钮,然后可以设置所需每个按钮的可见性和操作可以使用方法visible()来固定其可见性。切换按钮或一个按钮,并在单击事件时切换文本,应比两个按钮更有效。更改此选项
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btn2.setVisibility(ImageView.GONE);
}
});
借
还有这个
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btn2.setVisibility(View.VISIBLE);
}
});
借
请让我们知道是否需要代码。。。我认为这很简单,您将在onClick(视图v)中获得按钮视图,请参阅我的代码。默认情况下,第一个btn正在显示,当我单击它时,第二个btn将与第一个btn一起显示,当再次单击第二个btn时,它将消失,只剩下第一个btn。但每次我只想显示一个btn
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btn2.setVisibility(View.VISIBLE);
}
});
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btn1.setVisibility(View.GONE);
btn2.setVisibility(View.VISIBLE);
}
});