如果我在活动中有多个屏幕,如何处理活动中的后退按钮

时间:2011-03-31 09:10:36

标签: android

我的活动有多个屏幕,具体取决于用户点击的按钮。

如果我需要在此活动中处理后退按钮,我该怎么办?即,当我按下后退按钮时,它必须进入我活动的前一个屏幕。

我对android很新。任何人都可以帮助我解决这个问题

感谢阅读。

3 个答案:

答案 0 :(得分:3)

我想通过多个屏幕你的意思是你有一些布局并用setContentView()更改它们。您必须覆盖后退按钮的行为,保留用户在各种屏幕之间导航的历史记录(如果没有强制路径),并将后退按钮代码设置为上一屏幕的内容。

如果您使用API​​> = 5,则可以轻松覆盖后退按钮:请参阅onBackPressed()

如果您还希望向后兼容,则可以找到herehere

由于这通常都是由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;
    }

希望这会对你有所帮助。