Android:为什么按钮事件在按下后退按钮后不工作?
我已经定义了四个按钮,onclick事件显示一个内容,现在单击后按 后退按钮显示相同的四个按钮,但单击事件不起作用。Android:为什么按钮事件在按下后退按钮后不工作?,android,Android,我已经定义了四个按钮,onclick事件显示一个内容,现在单击后按 后退按钮显示相同的四个按钮,但单击事件不起作用。 我定义了一个字段,如果用户看到content isLooked=true,那么当单击后退按钮时,我将设置contentview(R.layout.index),并且我将不允许退出当前活动。 为什么不在点击后退按钮后处理事件 private boolean isLooked = false; @Override public void onCreate(Bund
我定义了一个字段,如果用户看到content isLooked=true,那么当单击后退按钮时,我将设置contentview(R.layout.index),并且我将不允许退出当前活动。
为什么不在点击后退按钮后处理事件
private boolean isLooked = false;
@Override
public void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
setContentView(R.layout.index);
initialEvents();
} catch (Exception e) {
new com.example.csharp.Log.Error().Save(e);
}
}
private void initialEvents() {
View v = findViewById(R.id.btnChapter1);
v.setOnClickListener(this);
v = findViewById(R.id.btnChapter2);
v.setOnClickListener(this);
v = findViewById(R.id.btnChapter3);
v.setOnClickListener(this);
v = findViewById(R.id.btnChapter4);
v.setOnClickListener(this);
}
@Override
public void onBackPressed() {
if (isLooked) {
setContentView(R.layout.index);
isLooked = false;
} else {
super.onBackPressed();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && isLooked) {
setContentView(R.layout.index);
isLooked = false;
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnChapter1:
setContentView(R.layout.chapter1_index);
isLooked = true;
break;
case R.id.btnChapter2:
setContentView(R.layout.chapter2_index);
isLooked = true;
break;
case R.id.btnChapter3:
setContentView(R.layout.chapter3_index);
isLooked = true;
break;
case R.id.btnChapter4:
setContentView(R.layout.chapter4_index);
isLooked = true;
break;
}
}
当按back键时,您正在设置新的内容视图,这是为布局集创建对象的新实例。但是您的单击侦听器是为onCreate中的视图集设置的
如果你真的想在反按时设置内容,那么你必须再次查找dviewbyd并设置侦听器。你有什么解决方案,我不必再次设置侦听器吗?不要在反按时设置内容视图,那么如何在不使用新活动的情况下在布局前显示?