2017-10-07 3 views
0

J'ai créé une activité de fragment en utilisant viewpager avec deux onglets, et créé une liste avec deux textviews. Je veux envoyer les deux textes de l'onglet un à l'onglet deux comme titre et description. J'ai réussi à envoyer la description, mais j'ai échoué à envoyer le titre (] Je ne peux envoyer qu'un seul texte à listview).Comment envoyer des textes à une liste en utilisant l'activité de fragment

Mon fragment_one.java:

public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    viewPager = (ViewPager)view.findViewById(R.id.viewPager); 
    Button btnPassData = (Button) view.findViewById(R.id.btnPassData); 

    final ListView list=(ListView)view.findViewById(R.id.list_view); 
    final EditText inData = (EditText) view.findViewById(R.id.inMessage); 
    btnPassData.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      SM.sendData(inData.getText().toString().trim()); 
     } 
    }); 

} 

interface SendMessage { 
    void sendData(String message); 
} 

@Override 
public void onAttach(Context context) { 
    super.onAttach(context); 

    try { 
     SM = (SendMessage) getActivity(); 
    } catch (ClassCastException e) { 
     throw new ClassCastException("Error in retrieving data. Please try again"); 
    } 
} 
} 

mon fragment_two.java:

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
    View rootView = inflater.inflate(
      R.layout.fragment_two, container, false); 
    return rootView; 


} 

@Override 
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 

    listView = (ListView) view.findViewById(R.id.list_view); 
    adapter = new ArrayAdapter<String>(getActivity(), R.layout.single_item,R.id.tvdesc, arrayList); 

    listView.setAdapter(adapter); 
} 

protected void displayReceivedData(String message) { 
    arrayList.add(0,message); 
    adapter.notifyDataSetChanged(); 

} 
} 
+0

https://stackoverflow.com/questions/46600853/how-to-make-this-code-to-accept-sending-and- receive-another-text –

+0

@zazer Jetez un oeil à ce lien https://stackoverflow.com/questions/24555417/how-to-send-data-from-one-fragment-to-another-fragment – Grendel

Répondre

0

Vous devez utiliser rappeler les données de fragment_one à l'activité principale, et envoyer des données de l'activité à fragment_two (et rafraîchissement vue)

fragment de rappel à l'activité que vous pouvez utiliser How to make a callback between Activity and Fragment?

et Fragment_two vous pouvez définir cette valeur dans Activité, EX, private Fragment mFragmentTwo; ......... mFragmentTwo = new Fragment();

et peut mettre en valeur par funtion: mFragmentTwo.displayReceivedData (yourString)