我正在使用ViewPager来滑动不同的片段。它正在工作,但现在我想为每个片段添加设置,就像在Activities中可以这样做:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
但是当我在我的Fragment中使用
addPreferencesFromResource(R.xml.prefs);
时,Eclipse告诉我addPreferencesFromResource(R.xml.prefs);
不存在,如果我使用FragmentActivity也是一样。那么,我该如何在Fragments中使用preferences呢?
我刚开始设计Fragments,一切都与在Activities中的做法非常不同 :/
谢谢 :)==编辑== 我没有得到一个FC,但它什么也没做,这是调用类LCprefs()的代码,这个代码在一个Fragment中:
@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);
}
}
它位于xml文件夹中的prefslc.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>