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

Android,点击对话框中的“确定”后重新加载或刷新当前片段

白哲茂
2023-03-14

这是我的对话里面的片断,它工作良好,现在我想当我点击“确定”按钮,它重新载入当前的片断。调用showDialog方法时显示对话框:mi fragment is android.support.v4.app.fragment

void showDialog() {
    LayoutInflater layoutInflater = LayoutInflater.from(getContext());
    View promptView = layoutInflater.inflate(R.layout.dialog_fragment_agenda, null);
    TextView txtNombre = (TextView)promptView.findViewById(R.id.txtdialog1);
    txtNombre.setText("ADD THIS STUFF?");
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getContext());
    alertDialogBuilder.setView(promptView);

    alertDialogBuilder.setPositiveButton("Ok",new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            sendSomeStuff();
            //HERE TODO RELOAD OR REFRESH THE FRAGMENT


        }
    });
    alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {

        } });
    AlertDialog alert = alertDialogBuilder.create();
    alert.show();
}

更新这是片段。我想回顾片段的onCreateView方法

public class FragmentOne extends Fragment {
//...some variables
   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    rootView = inflater.inflate(R.layout.fragment_one, container, false);
    showDialog()//HERE I CALL MY CUSTOM DIALOG

    return rootView;
}
}

使用viewpager和FragmentPagerAdapter测试

FragmentTransaction ft = getFragmentManager().beginTransaction();

ft.detach(FragmentOne.this).attach(FragmentOne.this).commit();

共有1个答案

邹华皓
2023-03-14

当片段对用户可见时刷新片段

    override fun setUserVisibleHint(isVisibleToUser: Boolean) {
    super.setUserVisibleHint(isVisibleToUser)
    if(isVisibleToUser){
        if (getFragmentManager() != null) {
            getFragmentManager()
                ?.beginTransaction()
                ?.detach(this)
                ?.attach(this)
                ?.commit();
        }
    }
}
 类似资料:
  • 这是我在片段内的对话框,它工作正常,现在我希望当我单击“确定”按钮时,它会重新加载当前片段。当调用showDialog方法时,将显示该对话框:mi fragment是android。支持v4。应用程序。碎片 更新这是片段。我想回忆一下片段的onCreateView方法 简单的解决方案 使用viewpager和FragmentPagerAdapter测试

  • 我遇到了一个如何在对话框片段中更新片段的问题。 当我单击过滤器菜单按钮时,会显示一个新的对话框片段,其中包括一个无线电组。 我想在单击ok按钮时更新包含位置列表的片段。 它是PlaceActive的代码,其中包含PlaceFraank: 公共类PlaceActive扩展AppCompatActive{ } 以下是PlaceFragment类的代码: 公共类PlaceFragment扩展了片段{ }

  • 问题内容: 我正在使用Java进行项目,因此需要在单击特定按钮后重新加载整个程序。这该怎么做? 问题答案: 尝试 如果仍然无法使用,请在完成上述步骤后尝试

  • 好的,试着缩短一点,把代码放在文章的末尾。谢谢你的回答。 在阅读了很多关于这个主题的问题/答案后,没有找到任何解决方案,这是我的问题。我尽量简洁,所以我可能会截断一些代码,请随意询问细节。我对JSF、primefaces世界也很陌生。 我基于Spring/Hibernate/Primefaces在现有web应用程序上开发改进/修复。用户界面包含一个选项卡视图,其中包含一些p:datatable:c

  • 问题内容: 这是一个非常基本的问题-但我无法通过在线搜索找到答案。 我正在使用python控制ArcGIS,并且有一个简单的python脚本,该脚本调用了一些预先编写的代码。 但是,当我对预写代码进行更改时,它似乎没有导致任何更改。我导入了此模块,并尝试刷新它,但是没有任何反应。 我什至将它调用的文件移到了另一个位置,脚本仍然可以正常工作。昨天我做的一件事是我将所有python文件都添加到sys路

  • 问题内容: 当用户访问未经授权的个人页面(例如个人资料)时,我的后端302重定向到控制器操作,该操作代替部分个人资料来提供登录部分。由于它302重定向到返回部分操作的动作,因此URL地址栏与用户尝试访问的页面(“ / profile”)没有变化。 我本来打算“修复”该问题,但实际上我认为它可以提供良好的用户体验,而不是将返回网址作为查询参数来处理。 想法是一旦他们登录,我只想重新加载当前路由,也可