【问题标题】:Reload the fragment in android?在android中重新加载片段?
【发布时间】:2015-01-14 00:24:53
【问题描述】:

我正在构建一个 android 应用程序,其中单击添加按钮时会打开一个 viewdailog 框,其中有一个用户填写的表单。

我需要的是,在单击该 viewdailog 框的确定按钮时,我的片段应该在用户添加值时重新加载。

这是我在 viewDialog 框中使用的方法 - \

private void viewCategory() {

        AlertDialog.Builder viewDialog = new AlertDialog.Builder(getActivity());

        viewDialog.setTitle("add");

        LayoutInflater li = (LayoutInflater)     
        getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View dialogView = li.inflate(R.layout.customealertdialogbox1, null);
        viewDialog.setView(dialogView);

        viewDialog.setPositiveButton("Ok",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                        name = edt1.getText().toString();
                        address = edt2.getText().toString();
                        city = edt3.getText().toString();
                        phone = edt4.getText().toString();
                        //Toast.makeText(getActivity(), name, Toast.LENGTH_SHORT).show();
                        new DownloadJSON().execute();

                    }
                });

        viewDialog.setNegativeButton("Cancel",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {

                    }
                });
        viewDialog.show();

        edt1 = (EditText) dialogView.findViewById(R.id.editbox1);
        edt2 = (EditText) dialogView.findViewById(R.id.editbox2);
        edt3 = (EditText) dialogView.findViewById(R.id.editbox3);
        edt4 = (EditText) dialogView.findViewById(R.id.editbox4);
 }

【问题讨论】:

  • 您在添加值后刷新了片段...
  • 是的,我需要在添加值时刷新我的片段。
  • 不,我需要一个方法!我问你。我知道在哪里重新加载它。但是我该怎么做
  • @Sonam Refresh 表示在您的确定按钮上单击您的 AsyncTask 正在执行。
  • @Sonam 要刷新当前片段,您需要先将其与 Activity 分离,然后再附加到 Activity。

标签: android android-fragments reload


【解决方案1】:
Fragment frg = new FirstFragment();
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.addToBackStack(FirstFragment.class.getSimpleName());
ft.commit();

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 2018-07-03
  • 2022-01-16
相关资源
最近更新 更多