【发布时间】:2013-09-08 22:05:55
【问题描述】:
当我在(主要活动。x m l)中添加另一个按钮(nextButton2)时! 现在我想让按钮打开(第三个 screen.x m l)
你能帮我在 (main.java) 的这个 android 项目中添加监听器但失败了吗?
【问题讨论】:
-
请将相关部分源码直接贴在StackOverflow上。
标签: android button project listener add
当我在(主要活动。x m l)中添加另一个按钮(nextButton2)时! 现在我想让按钮打开(第三个 screen.x m l)
你能帮我在 (main.java) 的这个 android 项目中添加监听器但失败了吗?
【问题讨论】:
标签: android button project listener add
按照您的代码中的现有逻辑,它可能看起来像这样:
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" />
【讨论】:
有很多方法可以实现:
如果您只需要一次监听器:
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
}
【讨论】: