2017-09-15 77 views
0

我使用下面的路径创建了项目 file> new> new project> settings activity。设置片段

打开应用程序时出现一个页面,点击文本时第二个页面打开。

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

是否有某些原因,为什么这种方法不适合你?

+0

没有第二个活动。如果你愿意的话,我可以上传我的项目给github。 – michaelzX

+0

哇我之前试过,但它没有工作,但我删除了一些代码,现在它运作良好。谢谢。 – michaelzX

0

您可以创建创建SplashActivity并启动与特定参数的第一页,这将导致它推出第二页

SplashActivity:

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.xml

<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>