2017-09-15 5 views
0

ファイル>新規>新規プロジェクト>設定アクティビティ以下のパスを使用してプロジェクトを作成しました。フラグメントの設定

アプリケーションを開くとページが表示され、クリックすると2ページ目が開きます。

page 1 image page 2 image アプリケーションを開いたときにページ2を開くにはどうすればよいですか?

私のコード

import android.os.Bundle; 
import android.preference.PreferenceFragment; 
import java.util.List; 

public class SettingsActivity extends AppCompatPreferenceActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 

    @Override 
    public void onBuildHeaders(List<Header> target) { 
     loadHeadersFromResource(R.xml.pref_headers, target); 
    } 

    protected boolean isValidFragment(String fragmentName) { 
     return PreferenceFragment.class.getName().equals(fragmentName) 
       || DataSyncPreferenceFragment.class.getName().equals(fragmentName); 
    } 

    public static class DataSyncPreferenceFragment extends PreferenceFragment { 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      addPreferencesFromResource(R.xml.pref_data_sync); 
      setHasOptionsMenu(true); 
     } 
    } 
} 
+0

明確化のために:アプリケーションを 'SettingsActivity'で起動しますか? – Jon

+0

私のアプリはまだsettingsActivityで起動していますが、クリックすることなく2ページ目を開きたいと思います。 1ページ目と2ページ目を確認してください。私のアプリは2ページに起動するはずです。私の悪い英語を申し訳ありません。 – michaelzX

+0

アプリケーションが開かれたときにページ1またはページ2を開きますか? –

答えて

0

を開き、それあなたがのonCreateメソッドでアプリケーションを起動します。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
          //Change layout_name to your xml/layout 
    setContentView(R.layout.layout_name); 

このアプローチがあなたにとって役に立たない理由がありますか?あなたはそれが2番目のページを起動するようになりますそのSplashActivityを作成して、特定のパラメータを使用して最初のページを起動

SplashActivity作成することができます

+0

第二の活動はありません。あなたが望むなら私のプロジェクトをgithubにアップロードすることができます。 – michaelzX

+0

wow前に試しましたが動作しませんでしたが、いくつかのコードを削除してもうまく動作します。ありがとうございました。 – michaelzX

0

public class SplashActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Intent intent; 
    intent = new Intent(this, SettingsActivity.class); 
    intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsActivity.DataSyncPreferenceFragment.class.getName()); 
    intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true); 
    startActivity(intent); 
} 

}

を、また、あなたを変更する必要がありますマニフェストファイル

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.maxim.testsettings"> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".SettingsActivity" 
     android:label="@string/app_name"> 

    </activity> 
    <activity android:name=".SplashActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
</application> 

関連する問題