如何将数据从警报对话框片段传递到Recyclerview适配器

时间:2019-02-09 20:02:48

标签: android android-studio

我是android的初学者,我如何将数据从警报对话框传递到recyclerview适配器,因为我无法在Internet或stackoverflow中找到主题

2 个答案:

答案 0 :(得分:0)

警报对话框基本上只是一个AndroidManifest.xml发生变化的活动,因此,如果您可以创建一个活动并将清单中的主题编辑为以下内容:

        <activity
        android:name=".DialogActivity"
        android:label="@string/title_activity_dialog"
        android:theme="@style/Theme.AppCompat.Dialog.Alert" />

您可以将活动视为任何正常活动,并将所需的内容添加到recyclerview适配器。但是,如果您可以分享一些尝试更好地获得想法的方法,将会很有帮助。

答案 1 :(得分:0)

您需要回调。接口将在recyclerview主机上实现。然后DialogFragment将使用生命周期来获取接口。

Interface Callback {
     void passData(YourObject object);
}
ActivityOrFragment extenda WHATEVER implements Callback {

    @Override
    void passData(YourObject object){adapter.addData(object);}
    //you have to create the method in the adapter and uodate usibg notify data set change or something suitable
}
YourDialogFragment extends DialogFragment {

    private Callback callback;

   //If the recycler is in an activity
   @Override
   onAttach(Context contex){
        callback = (Callback) context;
   }

   //If the recycler is in a fragment
   @Override
    onViewCreated(...){
          //find the fragment and initialize the callback
         callback = getFragmentManager...
    }
}

用户可能会与对话框进行交互,因此一旦交互完成,请使用回调

callback.passData(userCreatedObject);