Android 优先片段显示

Android 优先片段显示,android,Android,我不熟悉碎片概念。在我的应用程序中,我必须保存用户首选项。我经历过。 准备了我的首选项xml文件和首选项片段文件。到目前为止一切都很好。 我的问题是,我必须在我的main活动的onCreate()方法中添加以下代码 getFragmentManager().beginTransaction() .replace(android.R.id.content, new SettingsFragment()) .commit(); 它显示在主屏幕上。但是

我不熟悉碎片概念。在我的应用程序中,我必须保存用户首选项。我经历过。 准备了我的首选项xml文件和首选项片段文件。到目前为止一切都很好。 我的问题是,我必须在我的
main活动的
onCreate()方法中添加以下代码

getFragmentManager().beginTransaction()
            .replace(android.R.id.content, new SettingsFragment())
            .commit();
它显示在主屏幕上。但是我想用按钮点击的方法来启动它

 onSettingsClicked(){
         // launch preferces screen
    }

我想把它显示为一个单独的屏幕。我该怎么做?

您需要实现
碎片事务的概念。
你需要做以下几件事-

  • 创建一个新的Fragment.xml以显示按钮
  • 从onCreate()调用新片段
  • 获取片段视图上的按钮
  • 在按钮onclick listener上,将片段替换为setingfragment()。
    完成了 退房,它会指引你-

    是否进行以下更改,如-

    // Code not accurate, may be some syntax error  
    @Override
    public void onCreate()
    {
    // super and other stuff
    
    getFragmentManager().beginTransaction()
                .replace(android.R.id.content, new NewFragment())
                .commit();
    
    Button btn = (Button)findViewById(R.id.button01);
    btn.setOnClickListener(new OnClickListener(){
    
     @override
     public void onClick(View v)
     {
     FragmentTransaction ft = getFragmentManager().beginTransaction();
    
                ft.replace(android.R.id.content, new new SettingsFragment())
                .commit();
     }
    
    });
    
    
    }
    

    您可以使用preferenceFragement,而不是使用fragementTransaction:
    顺便说一句,看起来不错。此片段正在添加到当前活动中。但我想显示此首选项,因为SubActivityFragment始终添加到当前活动中。片段就是为了这个目的而设计的。您可以通过正确定义主布局来完成所需的工作。在主布局中添加
    标记。显示子视图。你明白我的意思了吗?明白了。。所以我会把这个片段隐藏起来。然后单击按钮,我将向用户显示它。我说得对吗?