当我在(主要活动。xml)中添加另一个按钮(nextButton2)时!现在我想让按钮打开(第三个screen.xml)
你能帮我在(main.java)的这个android项目中添加监听器但失败了吗?
有多种方法可以实现这一目标:
如果您只需要一次侦听器:
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
button1.setOnClickListener(new OnClickListener() {
// your first listener here
});
button2.setOnClickListener(new OnClickListener() {
// your second listener here
});
}
}
如果你想在同一个类中重用监听器:
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
button1.setOnClickListener(new Listener1());
button2.setOnClickListener(new Listener2());
}
class Listener1 implements OnClickListener {
// your first listener here
}
class Listener2 implements OnClickListener {
// your second listener here
}
}
如果您想在多个类中重复使用侦听器:
public class Main extends Activity {
public void onCreate(Bundle savedInstanceState) {
button1.setOnClickListener(new Listener1());
button2.setOnClickListener(new Listener2());
}
}
class Listener1 implements OnClickListener {
// your first listener here
}
class Listener2 implements OnClickListener {
// your second listener here
}
其次是您的代码中的现有逻辑,这就是它的样子:
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.nextButton).setOnClickListener(new handleButton());
findViewById(R.id.nextButton2).setOnClickListener(new handleButton2());
}
class handleButton implements OnClickListener {
public void onClick(View v) {
Intent intent = new Intent(Main.this, Screen2.class);
startActivity(intent);
}
}
class handleButton2 implements OnClickListener {
public void onClick(View v) {
Intent intent = new Intent(Main.this, Screen3.class);
startActivity(intent);
}
}
}
它假定您已经创建了名为 Screen3.java 的新活动并将其添加到清单文件中:
<activity android:name="your.project.package.Screen3" android:label="@string/app_name" />