2017-02-04 11 views
2

私はAndroid開発の初心者で、問題に直面しています: 通常のタブ付きMainActivityがあり、Android Studioの設定アクティビティテンプレートからSettingsActivityを作成しました。 MainActivityはSettingsActivityの階層親です。Android Studio - 1つのフラグメントのみの設定アクティビティ/ヘッダーなし

MainActivity.javaでSettingsActivityを開始するためのコード:

Intent intent = new Intent(this, SettingsActivity.class); 
     startActivity(intent); 

私だけONE設定ページを持っていると思います。 Androidのガイドライン「addPreferencesFromResource();」推奨されなくなり、Preferenceヘッダーに置き換えられました。しかし、これらのプリファレンスヘッダーを使用すると、私のMainActivityと私のactuall設定ページ(pref_settings.xmlで定義されています)の間にもう1つのページが表示されます。 この余分なページを取り除く方法についてグーグルで調べてから、私はこの文をSettingsActivity.java onCreateメソッド:

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

    getFragmentManager().beginTransaction() 
      .replace(android.R.id.content, new PillPreferenceFragment()) 
      .commit(); 
} 

まあ、それは私の問題を解決します。 SettingsActivityを開始すると、pref_settings.xmlが表示されます。しかし、戻るボタンはもう動作しません。それは常にMainActivityではなく、SettingsActivityに「戻る」ようになります。これは無限ループです。 誰が問題であるか、どのように解決するかを知っていますか?

私の説明は分かりやすいと思います。詳しい情報が必要な場合は教えてください。

ありがとうございます! :)

+0

しかし、私はあなたが求めていると思いますが、ユーザーを押す場合、バックの主な活動に行くことです戻るボタン。あなたはバックプレスで実装していないので、それは行っていません。あなたはいますか? –

答えて

2

自分で解決策を見つけました。

私はSettingsActivity.javaにこのコードを追加する必要がありました:私はあなたが伝えようとしているものproerply理解カント

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     this.finish(); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
0

は、以下のコードを試してみてください。

Intent i = new Intent(getApplicationContext(), SettingsActivity.class); 
      startActivity(i); 
      finish(); 

をアプリケーションタグ内のandroidマニフェストに次の行を追加します。

android:launchMode="singleTask" 

と裏押しボタン上書きすることを忘れないでください:

@Override 
    public void onBackPressed() { 
    super.onBackPressed(); 
    } 
+0

あなたの迅速な対応に感謝します。残念ながら、それはそれを解決しません。 私のマニフェストファイルでは、SettingsActivityのタグにインテントフィルタがないことに気付きました。これが重要なの? – Lados

+0

通常、インテントフィルタはデフォルトのアクティビティ用です:http://stackoverflow.com/questions/3321514/what-are-intent-filters-in-android – rodoboss

関連する問題