我正在尝试使用PreferenceFragment从Activity中调用它,当我从ActionBar中单击一个图标时,我只需调用FragmentPreferences whit Intent:
case R.id.settings:
Intent prefs = new Intent(this, LogicAnalizerPrefs.class);
startActivity(prefs);
break;
Run Code Online (Sandbox Code Playgroud)
在这种方式当我点击我的图标应用程序简单卡住,我的意思是它没有崩溃和LogCat简单卡住没有什么奇怪,如果我再次点击我得到ANR.如果我使用:
getFragmentManager().beginTransaction().replace(android.R.id.content, new LogicAnalizerPrefs()).commit();
Run Code Online (Sandbox Code Playgroud)
我可以看到片段,但背景是透明的,我看到一些用户问同样的问题,但答案是调用白色意图,但我的应用程序卡住了.这是我的片段代码:
public class LogicAnalizerPrefs extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.logicanalizerprefs);
}
}
Run Code Online (Sandbox Code Playgroud)
还有我的logicanalizerprefs.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<EditTextPreference
android:defaultValue="128"
android:key="buffer1"
android:summary="Buffer canal 1"
android:title="Buffer" />
<EditTextPreference
android:defaultValue="128"
android:key="buffer2"
android:summary="Buffer canal 2"
android:title="Buffer" />
<EditTextPreference
android:defaultValue="128"
android:key="buffer3"
android:summary="Buffer canal 3"
android:title="Buffer" />
<EditTextPreference
android:defaultValue="128"
android:key="buffer4"
android:summary="Buffer canal 4"
android:title="Buffer" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
希望你能帮助我,我不知道它能是什么:/
--EDIT-- 这是我调用我的Preference Activity/Fragment的Activity,它使用achartengine并实现Runnable Thread来刷新Handler上的图表.
public …Run Code Online (Sandbox Code Playgroud)