0

重複の可能性:
アクティビティを 1 回だけ開始する

 Intent intent = new Intent(getApplicationContext(), deneme.class);


  @Override
  public void onCreate(Bundle savedInstanceState)
    {

      super.onCreate(savedInstanceState);

      if(!settings.getString(Constants.NAME, "").equals("") && !settings.getString(Constants.SURNAME,  "").equals("")  
            && !settings.getString(Constants.NUMBER, "").equals("")) {

        startActivity(intent);

    }
      //settings is my shared preferences object 

    else{   
     setContentView(R.layout.information_form_layout);

    // this part creates a shared preferences and save the values for the first time

共有設定で保存された値が空でない場合は、他のアクティビティを開始したいと考えています。人が初めてアクティビティを開始した場合、else 部分が機能し、値が完全に入力されるはずです。

どこで間違えたの?手伝ってくれてありがとう。

ヘンスペイドが言ったようにやっただけですが、それでも強制的に閉じます。

settings は共有設定オブジェクトです。

settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

4

1 に答える 1

1

super.onCreate(..) の直後に setContentView(..) を呼び出します。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.first_time_startup_activity);

    if (..do settings checks here...){
        startActivity(..)
    }    
}
于 2012-04-28T10:11:38.673 に答える