2017-12-13 6 views
0

Ich öffne ein Dialogfragment und bündle Daten. Ich bin mir nicht sicher warum, aber die gebündelten Daten scheinen nicht vorbei zu sein. Ich habe hier für eine Lösung gesucht, aber ich kann nicht sehen, was ich tue, falsch:Dialogfeldfragmentbündel, das keine Daten weitergibt

Dies ist, wie ich das Fragment öffnen und schließen Sie die gebündelte Daten:

FragmentManager fm = ((MainActivity)context).getSupportFragmentManager(); 
InfoFragment infoFragment = new InfoFragment(); 
Bundle bundle = new Bundle(); 
bundle.putString("TITLE", reminder.getReminderTitle()); 
bundle.putString("DESCRIPTION", reminder.getReminderDescription()); 
infoFragment.setArguments(bundle); 

// Show DialogFragment 
infoFragment.show(fm, "InfoFragment"); 

Und im Fragmente ich bin die gebündelten Daten wie dieses abrufen: \

public class InfoFragment extends DialogFragment implements View.OnClickListener{ 

    TextView titleTextView; 
    TextView descriptionTextView; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.fragment_info, container,false); 

     // Iniate ui element 
     titleTextView = view.findViewById(R.id.infoFragmentTitleTextView); 
     descriptionTextView = view.findViewById(R.id.infoFragmentDescriptionTextView); 

     // Get the bundled reminder info to display 
     String title = getArguments().getString("TITLE"); 
     String description = getArguments().getString("DESCRIPTION"); 

     //Set the values for the textviews from the bundled data 
     titleTextView.setText(title); 
     descriptionTextView.setText(description); 

     return view; 

Antwort

0

ich habe den Code unten in meiner Tätigkeit geschrieben und hielt den gleichen Code in Dialogfragment, wie ihre und seine Arbeit völlig in Ordnung

 FragmentManager fm = getSupportFragmentManager(); 
    InfoFragment infoFragment = new InfoFragment(); 
    Bundle bundle = new Bundle(); 
    bundle.putString("TITLE", "Your title"); 
    bundle.putString("DESCRIPTION", "Your description"); 
    infoFragment.setArguments(bundle); 

    // Show DialogFragment 
    infoFragment.show(fm, "InfoFragment"); 

können Sie mir sagen, wo Sie Ihren Code geschrieben haben Ihr Fragment

+0

In einem Array Adapter öffnen –

+1

So müssen Sie Aktivitätsinstanz in Ihrem Adapter Konstruktor wie öffentliche MyArrayAdapter (Aktivität mActivity) und verwenden mActivity Objekt passieren getfragmentmanager. versuche das und lass es mich wissen, wenn es nicht funktioniert –

Verwandte Themen