3

我有一个 Activity 类,里面有一些方法。我想实现onBackPressed()内部,method2因为我有一个重要的变量要释放。我不能/不使这个变量具有更大的范围,也不能在方法 2 中释放这个变量,因为我想通过按下后退按钮来终止应用程序和方法 2 的执行。

public  class example extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        method1();
    }

    public method 1 {
        //take some input and assign in a variable.
        method2(variable); 
    }

    public method2 {
        // do something with the variable that take before at method 1
        // and finally press back button
        onBackPressed(){}
        //free variable , finish ();
    }
}   

如您所知,我不能onBackPressed()仅在活动区域​​覆盖该方法的内部。你能为我提供一个解决方案吗?

4

1 回答 1

5

您应该覆盖onBackPressed()活动范围内的方法并从您的方法中调用它。

@Override
public void onBackPressed()
{
    super.onBackPressed();
    // Do your things.
}

public void method()
{
    onBackPressed();
}

如果要在onBackPressed方法中添加一些复杂的逻辑,只需创建另一个带参数的逻辑即可。

public void myOnBackPressed(int param1, String param2)
{
    // Do your complex logic.
    onBackPressed();
}

public void method()
{
    myOnBackPressed(myInt, myString);
}
于 2012-09-05T09:06:34.203 回答