我的活动有多个屏幕,具体取决于用户点击的按钮。
如果我需要在此活动中处理后退按钮,我该怎么办?即,当我按下后退按钮时,它必须进入我活动的前一个屏幕。
我对android很新。任何人都可以帮助我解决这个问题
感谢阅读。
答案 0 :(得分:3)
我想通过多个屏幕你的意思是你有一些布局并用setContentView()
更改它们。您必须覆盖后退按钮的行为,保留用户在各种屏幕之间导航的历史记录(如果没有强制路径),并将后退按钮代码设置为上一屏幕的内容。
如果您使用API> = 5,则可以轻松覆盖后退按钮:请参阅onBackPressed()。
由于这通常都是由Android自动完成的,因此请考虑使用多个活动而不是一个多个屏幕的活动。
答案 1 :(得分:0)
在您的活动中覆盖onBackPressed()函数,并在其中编写所需的代码以进行意图触发。
答案 2 :(得分:0)
您可以通过处理 KeyDown事件并添加一些条件(如获取静态变量,并在每个活动中为静态变量指定不同的值)来执行此操作。 请参阅以下代码:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
if(condition 1)
{
Intent i=new Intent("com.prac.A"); // A is your another activity in com.prac package
startAcitvity(i);
}
else if(condition 2)
{
Intent i=new Intent("com.prac.B");
startAcitvity(i);
}
else
{
Intent i=new Intent("com.prac.C");
startAcitvity(i);
}
}
return false;
}
希望这会对你有所帮助。