2017-07-24 3 views
0

Ich habe ein Problem, wenn ich Arraylist von Aktivität zu Fragment übergeben ... Ich brauche nur Listivew mit Kontrollkästchen ausgewählt (unter ID aus Arraylist), während ich Listenansicht, bevor ID und Listenansicht nach ID aus Arraylist ...Problem, um Daten von Aktivität zu Fragment übergeben

Ich zeige mein Problem mit Bildern und mit Code.

mit pic:

vor dem Durchlauf-Daten

enter image description here

nach Passdaten enter image description here

mit Code:

Bundle bundle = new Bundle(); 
     bundle.putIntegerArrayList("oki", hm); 

     MyListFragment fragment = new MyListFragment(); 
     fragment.setArguments(bundle); 


     FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
     transaction.replace(R.id.container, fragment); 

     transaction.commit(); 

Bündelcodedaten zu erhalten:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     bundle = getArguments(); 
     if (bundle != null) { 

      strtext=bundle.getIntegerArrayList("oki"); 
      System.out.println("PARAM:"+strtext); 
     } 
} 

Wer kann mir helfen? danke allen!

+0

Wo ist der Code zum Abrufen von Daten aus Bundle? – Piyush

+0

ArrayList ist String-Typ oder CustomType wie Model Type Array list? –

+0

@ManojSrivastava arraylist enthält die ID des checkboxed checked also in der ganzen Zahl – androidiano

Antwort

0

siehe diese

Bundle bundle = new Bundle(); 
bundle.putStringArrayList("valuesArray", namesArray); 
namesFragment myFragment = new namesFragment(); 
myFragment.setArguments(bundle); 

und in Fragmente onCreateView Methode:

@Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    String strtext = getArguments().getStringArryList("valuesArray");  
    return inflater.inflate(R.layout.fragment, container, false); 
} 
+0

String strtext = getArguments(). GetStringArryList ("valuesArray"); machen mich crash app .... – androidiano

+0

welche fehler in ihrem log anzeigen ??? –

+0

Ich setze try Catch Block ein String strtext = getArguments(). GetStringArryList ("valuesArray"); so App nicht abstürzt, aber getArguments() erhält keine Argumente ..... so Arraylist ist leer – androidiano

0

Es ist nicht Problem der Weitergabe von Daten zwischen Aktivität zu fragmentieren. Problem ist, dass das Fragment in einem anderen Fragment überlappt ist.

Setzen Sie die Hintergrundfarbe weiß auf die Elternwurzel des Fragments (jedes Fragment, so dass diese Art von Problemen in Zukunft nicht auftritt).

Dies wird Ihr Problem behoben.

+0

ja, Fragment ist auf einem anderen Fragment überlappt ..... jetzt versuche ich, Hintergrund weiß zu setzen, wie Sie mir raten ... – androidiano

+0

Wie kann ich wissen, ohne den Code zu sehen? Bitte posten Sie Ihren Code hier, damit jeder prüfen kann. –

+0

Ich erstelle eine weitere Frage, um mein neues Problem zu erklären? – androidiano

Verwandte Themen