如何跳过活动?安卓

时间:2010-07-29 00:03:47

标签: android android-activity skip

我有一个首先启动的默认活动(活动A),然后用户可以转到另一个活动(活动B)。在一些工作之后的B中,用户设置共享偏好。下次应用程序启动时我想要检查A如果共享首选项为空,则转到B.并且我将其放在

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

它封装了整个onCreate。当应用程序启动时,它跳过A,在B上我显示布局和带有NullPointerException的FC。

有人有过这方面的经验吗?

OR

任何一个人在跳过A时都有更好的主意吗?

2 个答案:

答案 0 :(得分:0)

回答我自己的问题。我在onDestroy中有一个位置监听器,因为它没有初始化,因为跳过onCreate它返回了NullPointer。

答案 1 :(得分:0)

Simon,你必须使用共享的prefrences。将您的数据保存在共享的首选项中。然后,在您希望再次使用共享预取中的数据的活动中,获取相同共享首选项的实例。获取数据并使用它。

完成此代码

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();
    }
} 

可能你会得到一个见解