Android,如果从其他活动/操作栏提交,则跳过if语句

Android,如果从其他活动/操作栏提交,则跳过if语句,android,if-statement,sharedpreferences,Android,If Statement,Sharedpreferences,我已经做了这个应用程序,当你第一次打开它时,你必须输入你的号码。 下次打开应用程序时,它将跳过您输入号码的第一个活动。 现在,在我的frontpageactivity中,我制作了一个actionbar,其中有一个菜单项,我希望能够返回并编辑第一个活动中输入的号码,但在oncreate中,我检查是否插入了号码,如果有,它将跳过此页。有没有什么方法可以说,如果我从actionbar进入这个活动,它应该覆盖这个,或者我应该找到另一种方法来编码这个,我真的无法解决这个问题。感谢您的帮助 这是一个我一直感

我已经做了这个应用程序,当你第一次打开它时,你必须输入你的号码。 下次打开应用程序时,它将跳过您输入号码的第一个活动。 现在,在我的frontpageactivity中,我制作了一个actionbar,其中有一个菜单项,我希望能够返回并编辑第一个活动中输入的号码,但在oncreate中,我检查是否插入了号码,如果有,它将跳过此页。有没有什么方法可以说,如果我从actionbar进入这个活动,它应该覆盖这个,或者我应该找到另一种方法来编码这个,我真的无法解决这个问题。感谢您的帮助

这是一个我一直感到困惑的想法,但我不确定是否存在应用程序运行了多长时间这样的问题

if (appHasBeenRunningForMoreThan10Seconds & !number.equals(NA))
{
    textViewNumber.SetText(number) (just to show the number which is allreadyt here)
}
else if (!number.equals(NA)) {
        Intent intent = new Intent(this, FrontPageActivity.class);
        startActivity(intent);
        finish();
    }
源代码:

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class PhoneNumberActivity extends Activity {

private static final String NUMBER = "number";
private static final String MY_PREF = "myPref";
private static final String NA = "NA";
private String number;
private EditText phoneNumberEditText;
private SharedPreferences sharedPref;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_phone_number);
    phoneNumberEditText = (EditText) findViewById(R.id.phoneNumberEditText);

    checkStatus();

    if (!number.equals(NA)) {
        Intent intent = new Intent(this, FrontPageActivity.class);
        startActivity(intent);
        finish();
    }
}

public void checkStatus() {
    sharedPref = getSharedPreferences(MY_PREF, MODE_PRIVATE);
    number = sharedPref.getString(NUMBER, NA);
}

public void goToFrontPage(View v) {

    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putString(NUMBER, phoneNumberEditText.getText().toString());
    editor.apply();
    Intent intent = new Intent(this, FrontPageActivity.class);
    startActivity(intent);
    finish();
}

}
您还可以在活动之间传递变量。例如,如果您从actionbar启动活动,您可以向上面链接中提到的UIless活动发送布尔值true,如果您从其他任何地方启动活动,则发送布尔值false,然后根据该布尔值处理要启动的活动


当您离开“电话号码”活动时,请立即在“共享首选项”中保存一个布尔值。下次从splash离开时,您可以在此保存的布尔值上设置一个条件,无论是为“号码”活动还是为“frontpageactivity”激发意图

希望它能帮助你