Как пропустить активность?андроид - PullRequest
0 голосов
/ 29 июля 2010

У меня есть действие по умолчанию, которое начинается первым (действие A), и оттуда пользователь может перейти к другому действию (действие B).В B после некоторой работы пользователь устанавливает разделяемое предпочтение.В следующий раз, когда приложение запустится, я хочу проверить в A, если sharedpreference равно нулю, чтобы перейти к B. И я поставлю это, если чуть ниже

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

, и оно инкапсулирует весь onCreate.когда приложение запускается, оно пропускает A, а на B я показываю макет и FC с NullPointerException.

Кто-нибудь имел опыт работы с этим?

ИЛИ

любой получиллучше пропустить A?

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

Ну, Саймон, вы должны использовать общие предпочтения. сохранить ваши данные в общих настройках. Затем в упражнении, в котором вы хотите использовать данные в общих преференциях, снова получите экземпляр той же общей преференции. получить данные и использовать их.

пройти через этот код

public class Calc extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";

    @Override
    protected void onCreate(Bundle state){         
       super.onCreate(state);
       . . .

       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

    @Override
    protected void onStop(){
       super.onStop();

      // We need an Editor object to make preference changes.
      // All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Commit the edits!
      editor.commit();
    }
} 

вероятно, вы получите понимание

0 голосов
/ 29 июля 2010

Чтобы ответить на мой собственный вопрос. у меня был слушатель местоположения в onDestroy, потому что он не был инициализирован из-за пропуска onCreate, он возвращал NullPointer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...