4

我正在使用ViewPager轻扫不同的片段。这是工作,但现在我想每个片段可以以这种方式与活动做添加设置:如何使用ViewPager在碎片上使用首选项?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.prefs); 
} 

但是,当我在Eclipse的片段放addPreferencesFromResource(R.xml.prefs);告诉我addPreferencesFromResource(R.xml.prefs);不存在,同样的,如果我使用FragmentActivity。那么,我如何在片段中使用偏好? 我是新的与片段设计和你比起来,在活动是如何做的一切是相当多的不同:/

谢谢:)

== ==编辑

我没有得到一个FC但不起任何作用,它是调用类LCprefs()的代码,这个代码是关于一个片段:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if(DEBUG) Log.i(TAG, "onOptionsItemSelected(MenuItem item)"); 
     switch(item.getItemId()) 
     { 
     case R.id.preferences: 
      new LCprefs(); 
      break; 
     case R.id.add: 
      break; 
     case R.id.load: 
      break; 
     case R.id.save: 
      break; 
     } 
     return false; 
    } 

这是LCprefs类:

import android.os.Bundle; 
import android.preference.PreferenceFragment; 
import android.util.Log; 

    public class LCprefs extends PreferenceFragment{ 

     String TAG; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 
      Log.i(TAG, "LCprefs onCreate()"); 
      addPreferencesFromResource(R.xml.prefslc); 
     } 

    } 

它是prefslc.xml位于XML文件夹中:

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > 

    <PreferenceCategory android:title="Varios" > 

     <CheckBoxPreference 
      android:defaultValue="false" 
      android:key="cbFullscreen" 
      android:summary="Aplicacion fullscreen" 
      android:title="Fullscreen" /> 

    </PreferenceCategory> 

</PreferenceScreen> 

回答

1

该片段必须的PreferencesFragment一个实例。链接示例:

public static class PrefsFragment extends PreferenceFragment { 

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

     // Load the preferences from an XML resource 
     addPreferencesFromResource(R.xml.preferences); 
    } 
} 
+0

我编辑我的问题,因为我不能把代码放在这里:) – 2012-04-08 23:21:07

+0

你不能只是像这样创建一个新的片段。您还需要将其添加到视图中,或者围绕它创建新的活动。 – 2012-04-14 12:58:44