Android onBackPressed() 方法内

GIA*_*S L 3 android android-activity

我有一个 Activity 类,里面有一些方法。我想实现onBackPressed()内部,method2因为我有一个重要的变量想要释放。我不能/不让这个变量具有更大的范围,并且我不能在 method2 中释放这个变量,因为我想通过按后退按钮来终止应用程序和方法 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 ();
    }
}   
Run Code Online (Sandbox Code Playgroud)

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

Tim*_*nin 5

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

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

public void method()
{
    onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)

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

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

public void method()
{
    myOnBackPressed(myInt, myString);
}
Run Code Online (Sandbox Code Playgroud)