我遇到了问题,我似乎无法在2个不同的布局上为2个单独的按钮设置2 onClickListener,在运行程序时会导致异常。
btnClickToSecondPage按钮位于activity_main.xml布局中,btnObjClickToGoToFirstPage按钮位于second_activity.xml布局中。
我程序的java代码位于此处
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(getWindow().FEATURE_NO_TITLE);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
Button btnObjClickToGoToSecondPage = (Button) findViewById(R.id.btnClickToSecondPage);
Button btnObjClickToGoToFirstPage = (Button) findViewById(R.id.btnChangetoFirstPage);
btnObjClickToGoToFirstPage.setOnClickListener(
new Button.OnClickListener(){
@Override
public void onClick (View v)
{
setContentView(R.layout.second_activity);
}
}
);
btnObjClickToGoToSecondPage.setOnClickListener(
new Button.OnClickListener(){
@Override
public void onClick (View v)
{
setContentView(R.layout.activity_main);
}
}
);
} }
请帮我纠正这个问题谢谢。
答案 0 :(得分:0)
请实现View.Onclick侦听器而不是Button.onclick侦听器
App Share/Send Pro
答案 1 :(得分:0)
这不是在Android中切换页面的正确方法。使用两个活动来切换具有意图的页面。
Intent newPage = new Intent (this, YourActivityNameForNewPage.class);
startActivity(newPage);
将上面的代码放在按钮的onClick()
。
答案 2 :(得分:0)
如果要显示新页面,您可以开始新活动或开始新片段。
更改contentView
不是接近此方法的正确方法,不应该这样做。
您可以参考有关活动here的文档。
假设您有另一个名为SecondActivity的Activity
,那么您将如何启动它:
btnObjClickToGoToSecondPage.setOnClickListener(
new Button.OnClickListener(){
@Override
public void onClick (View v)
{
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
}
);
然后在新活动的XML中定义布局,即 second_activity.xml
如果使用fragment它们都具有相似的布局也是一个不错的选择。
基本上,你开始一个新的活动或片段来显示任何新内容或动态更改数据,如按钮的onClick()
所示。
这个问题可能会进一步明确你的疑虑: What is setContentView(R.layout.main)?