Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设置类似谷歌浏览器的活动(带有单选按钮的子菜单)_Java_Android_Fragment_Preferences - Fatal编程技术网

Java 设置类似谷歌浏览器的活动(带有单选按钮的子菜单)

Java 设置类似谷歌浏览器的活动(带有单选按钮的子菜单),java,android,fragment,preferences,Java,Android,Fragment,Preferences,我正在尝试从谷歌浏览器重新创建设置菜单。 它应该如下图所示: 到目前为止,我所拥有的: MainActivity.java SettingsActivity.java SettingsFragment.java 设置SearchEngineFragment.java preferences.xml 首选项\u searchengine.xml 我似乎找不到androidx的任何解释和教程。 我可以从Main活动转到SettingsActivity,但从那里我找不到打开“搜索引擎”片段(?)的方

我正在尝试从谷歌浏览器重新创建设置菜单。 它应该如下图所示:

到目前为止,我所拥有的:

  • MainActivity.java
  • SettingsActivity.java
  • SettingsFragment.java
  • 设置SearchEngineFragment.java
  • preferences.xml
  • 首选项\u searchengine.xml
  • 我似乎找不到androidx的任何解释和教程。 我可以从Main活动转到SettingsActivity,但从那里我找不到打开“搜索引擎”片段(?)的方法

    如何实现它?

    来自Android文档:

    要管理活动中的片段,需要使用 碎片管理器。要获取它,请从服务器调用getSupportFragmentManager() 活动

    在活动中使用片段的一个重要特性是 要使用它们添加、删除、替换和执行其他操作,请在中执行 对用户交互的响应。您提交的每一组更改 该活动称为事务,您可以使用 碎片事务中的API

    尽管这是一个可行的解决方案,但也有一种方法更能消除压力。也就是说,使用导航组件,可以很好地与Android Studio配合使用。 你最好对它进行更多的研究,因为它有助于澄清你在Android中导航的任何问题,包括片段、活动甚至对话框

    链接:

    来自Android文档:

    要管理活动中的片段,需要使用 碎片管理器。要获取它,请从服务器调用getSupportFragmentManager() 活动

    在活动中使用片段的一个重要特性是 要使用它们添加、删除、替换和执行其他操作,请在中执行 对用户交互的响应。您提交的每一组更改 该活动称为事务,您可以使用 碎片事务中的API

    尽管这是一个可行的解决方案,但也有一种方法更能消除压力。也就是说,使用导航组件,可以很好地与Android Studio配合使用。 你最好对它进行更多的研究,因为它有助于澄清你在Android中导航的任何问题,包括片段、活动甚至对话框

    链接:

    // Create new fragment and transaction
    Fragment searchEngineFragment = new SettingsSearchEngineFragment();
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    
    // Replace whatever is in the fragment_container view with this fragment,
    // and add the transaction to the back stack
    transaction.replace(R.id.fragment_container, searchEngineFragment);
    transaction.addToBackStack(null);
    
    // Commit the transaction
    transaction.commit();