0

我有 button.Onclicking 按钮它 cals->选择浏览器->在选择浏览器时它会加载我的 Url。从浏览器返回时,我以前在本地设置的所有变量值都被清除。变量具有用它们初始化的值。例如:

我=0。

内部方法我分配 i=10

现在调用浏览器//我使用此代码调用浏览器

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(strUrl));

intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

startActivity(Intent.createChooser(intent, "Choose browser"));

它加载网址//

现在回到活动中

变量 (i) 值变为 0。

4

2 回答 2

1

将变量声明为静态

static int i = 0;

这不会将 i 重置为零。后按

于 2013-01-22T11:12:21.363 回答
1

您需要更好地了解 Activity 的生命周期。当您离开并从 Activity 状态返回时不会自动持久化。

Android 生命周期:http: //developer.android.com/training/basics/activity-lifecycle/index.html

当您返回 Activity 时,您应该使用 onSavedInstanceState 来恢复您的状态。这是(链接的)文档给出的代码示例:

static final String STATE_SCORE = "playerScore";
static final String STATE_LEVEL = "playerLevel";
...

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    // Save the user's current game state
    savedInstanceState.putInt(STATE_SCORE, mCurrentScore);
    savedInstanceState.putInt(STATE_LEVEL, mCurrentLevel);

    // Always call the superclass so it can save the view hierarchy state
    super.onSaveInstanceState(savedInstanceState);
}
于 2013-01-22T11:21:24.187 回答