如何在Java/Android中创建单独的按钮功能?
我有一个名为Menu的类,在该类中我想放置一个按钮菜单,如buttonA、buttonB、buttonC等等。但是,当我在手机上运行应用程序时,我不能在点击buttonA之前点击buttonB。如果我先点击buttonA,我可以选择buttonA或buttonB。问题是如何分离菜单类中的按钮,以便能够随时点击任何按钮如何在Java/Android中创建单独的按钮功能?,java,android,button,menu,Java,Android,Button,Menu,我有一个名为Menu的类,在该类中我想放置一个按钮菜单,如buttonA、buttonB、buttonC等等。但是,当我在手机上运行应用程序时,我不能在点击buttonA之前点击buttonB。如果我先点击buttonA,我可以选择buttonA或buttonB。问题是如何分离菜单类中的按钮,以便能够随时点击任何按钮 package com.emods.app1; import android.app.Activity; import android.content.Intent; impor
package com.emods.app1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Menu extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent ("com.emods.app1.BUTTONA"));
Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent ("com.emods.app1.BUTTONB"));
}
});
}
});
}
}
您需要将您的btnB放在btnA的onClick事件之外。目前,您在btnA的onClick事件中有btnB声明
Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent ("com.emods.app1.BUTTONA"));
}
});
Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent ("com.emods.app1.BUTTONB"));
}
});
您为第一个按钮的侦听器中的第二个按钮定义了侦听器。嵌套问题 更改:
Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent ("com.emods.app1.BUTTONA"));
Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent ("com.emods.app1.BUTTONB"));
}
});
}
});
致:
}))
这应该可以解决问题。只有括号错误:
Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent ("com.emods.app1.BUTTONA"));
}
});
Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
startActivity(new Intent ("com.emods.app1.BUTTONB"));
}
});
package com.emods.app1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Menu extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent ("com.emods.app1.BUTTONA"));
}
});
Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent ("com.emods.app1.BUTTONB"));
}
});
}
}
您应该在IDE中激活自动格式化
package com.emods.app1;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Menu extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btnA = (Button) findViewById(R.id.button1);
btnA.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
startActivity(new Intent ("com.emods.app1.BUTTONA"));
}
});
Button btnB = (Button) findViewById(R.id.button2);
btnB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent ("com.emods.app1.BUTTONB"));
}
});
}
}