我是Android开发的新手,试图让按钮工作。每次我使用下面的代码,错误消息"不幸的是应用已停止"。但当我删除应用程序运行的代码但显然按钮什么都不做。这是我试过的代码
public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1 = (Button) findViewById(R.id.ExerciseButton);
button1.setOnClickListener (new View.OnClickListener(){
public void onClick(View v) {
setContentView(R.layout.exercises);
}
});
}
}
是谁能帮助我呢?感谢
答案 0 :(得分:1)
请勿尝试在当前活动中加载其他视图。导航到新的ExercisesActivity 使用:
public void onClick(View v) {
Intent intent = new Intent(ExercisesActivity.this, WcActivity.class);
startActivity(intent);
}
答案 1 :(得分:0)
在加载视图后,你不能再调用setContentView(它显然必须接收按钮点击)。使用不同的方法,例如显示和隐藏视图或使用ViewFlipper(请参阅Calling setContentView() multiple times),使用片段(请参阅Fragments)或开始新活动。
答案 2 :(得分:0)
嗯,从你的代码中,我看到了几件事:
如果我想将它用作按钮,我通常熟悉使用Button类的onClickListener。有道理,不是吗?
buttonOne.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//Do stuff here
}
第二件事:
使用 意图 开始新的活动(如果这是你想要的):
Intent myIntent = new Intent(this, exercises.class);
startActivity(myIntent);
答案 3 :(得分:0)
即使在视图加载后,您也可以在任何事件上调用setContentView 我在一个演示项目中尝试了你的代码,它工作正常。所以,我认为错误会出现在你的布局中。(如果你需要更多的帮助,请告诉我更多信息)