gpt4 book ai didi

java - Android:将 PreferenceFragment 与单个布局中的其他小部件结合起来

转载 作者:行者123 更新时间:2023-12-02 07:47:09 24 4
gpt4 key购买 nike

我正在尝试拥有 Activity仅显示几个(或一个)首选项以及剩余空间中的更多小部件。我很难弄清楚如何做到这一点。

/res/xml/preferences_1.xml中:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<CheckBoxPreference
android:key="test"
android:title="test"
android:defaultValue="false" />
</PreferenceScreen>

我想要包含用于编辑此单个首选项的 ui 的 Activity 的布局:/res/layout/test.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<fragment
android:name="com.test.something.TestActivity$PrefsFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<View ... stuff ... />
</LinearLayout>

还有Activity :

public class TestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

public static class PrefsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Load the preferences from XML resource
this.addPreferencesFromResource(R.xml.preference_login);
};
}
}

这应该说明我想要实现的目标:拥有 <fragment>显示PreferenceFragment下面仍然有一个(或一些)小部件。

遗憾的是,这并没有像我希望的那样工作。相反,它在打开 Activity 时抛出。堆栈跟踪的相关部分似乎是:

E/AndroidRuntime(12584): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.something/com.test.something.TestActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment

有人可以告诉我这是如何完成的吗?

最佳答案

啊啊!后来在堆栈跟踪中实际上有一条更有用的消息。 <fragment>缺少 android:id属性。

关于java - Android:将 PreferenceFragment 与单个布局中的其他小部件结合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com