当前位置: 首页 > 知识库问答 >
问题:

如何在DialogFragment中添加PreferenceFragment

蓟安歌
2023-03-14
   <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical" android:layout_width="match_parent"
   android:layout_height="match_parent">
   <fragment
    android:id="@+id/settings_fragment"
    android:name="com.example.test.Fragments.SettingsFragment"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
   </LinearLayout>
    override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    super.onCreate(savedInstanceState);
    val view = inflater!!.inflate(R.layout.dialog_preference, container, false)
    return view
}
   override fun onClick(view: View) {
    val id = view.id
        when (id) {
            R.id.btnSettings -> {
                val dialog = SettingsDialog();
                dialog.onCancel(object : DialogInterface {
                 override fun cancel() {
                     setTheme()
                 }

                 override fun dismiss() {

                 }
                })
                dialog.show(fragmentManager, null);
            }
        }
    }

这是im获取的错误消息

共有1个答案

金宣
2023-03-14

我在另一篇文章中找到了答案:重复的ID,标记为空,或者父ID带有com.google.android.gms.maps.MapFragment的另一个片段

所以当我把它添加到onDestroyView时

     override fun onDestroyView() {
    super.onDestroyView()
    val frag = fragmentManager.findFragmentById(R.id.settings_fragment) as SettingsFragment?;
    if (frag != null)
        fragmentManager.beginTransaction().remove(frag).commit();
}

一切正常。如果有人能想出更好的方法来创建首选项对话框,请告诉我

 类似资料:
  • 一切都在问题中,有没有一种方法在extjs中显示€符号?我试过了 但对于欧洲货币(1)来说,它回报了我

  • 问题内容: 您知道如何将新行添加到吗? 问题答案: 的后面处理表后面的所有数据。为了在表格中添加和删除行,您需要使用 要使用此模型创建表: 要添加一行: 您也可以使用此方法删除行。

  • 问题内容: 我从http://code.google.com/p/google-gson/下载了Gson库。归档文件包含以下jar文件: google-gson-1.3 / gson-1.3-javadoc.jar google-gson-1.3 / gson-1.3.jar google-gson-1.3 / gson-1.3-sources.jar 如何设置Eclipse使其能够在项目中使用该

  • 问题内容: 首先,我为我的英语疏忽表示歉意,我将解释我所有的问题。 首先我要在JTable中拥有JCheckBox。 我正在从列索引0和1的数据库中检索学生ID和学生姓名。我希望第三列应该是“缺席/在场”,这将首先根据JCheckbox值来获取学生是否在场。 这是我的JTable值代码: Attendance.java 此代码可从数据库中获取值,并将其保存到矢量中 AttendanceGUI.ja

  • 我正在写PostgreSQL表模式。 那么我如何将“轿车”、“掀背车”、“小型货车”等汽车类型添加为枚举数据类型

  • 问题内容: 假设你创建了一个新项目,并希望它使用某个第三方库,例如。你在哪里添加此JAR: 文件>>项目属性>>图书馆>> 编译时库 ; 要么 文件>>项目属性>>图书馆>> 运行时库 ; 要么 工具>>库(库管理器)>>库类路径;要么 工具>> Java平台(Java平台管理器) 所有这些对话框似乎都做相同的事情,但是我敢肯定它们都有正确的用法。在网上找不到好的“最佳实践”文章,并且“ NetB