2016-05-12 6 views
-2

Ich brauche die chapterId und lessonId Wert in Tablayout Fragmente.Wie kann ich eine Methode erstellen, um Werte von Activity an andere Komponenten zu übergeben

Eine der Lösungen zum Senden von Daten von Aktivität zu Fragment sendet den Wert mit der öffentlichen Methode in Aktivität und erstellt eine neue Instanz im Fragment und gibt den Wert in Fragmenten an.

Ich habe diese Aktivität, wo ich Bündel in diesem bekommen.

public class DetailActivity extends AppCompatActivity { 

     private String chapterId; 
     private String lessonId; 


     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_detail); 

      getBundle(); 

     } 

     private void getBundle() { 
      Bundle bundle = getIntent().getExtras(); 

      if (bundle != null) { 
       chapterId = bundle.getString("CHAPTERID"); 
       lessonId = bundle.getString("LESSONID"); 
      } 
     } 

     ======== Method for sending data to other Activities and Fragments===== 
     public String getId(){ 

     } 

    } 

Jetzt ist meine Frage, wie kann ich diese Methode schreiben. Dank

+0

tun geben Sie Daten von Aktivität zu Fragmenten tun? –

+0

Ich weiß, mit Absicht, meine Mean schafft Methode für die Weitergabe von Wert zwischen Activty und Fragment. –

Antwort

0

für Aktivität:

Intent intent = new Intent(this,yourActivity.class); 
intent.putExtra("bundle",bundle); 
startActivity(intent) 

in Tätigkeit:

Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
      chapterId = bundle.getString("CHAPTERID"); 

     } 

für Fragment

Fragment myFragment = new MyFragment(); 
myFragment.setArguments(bundle); 

in Fragmente

Bundle extras = getArguments(); 

if (extras != null) { 
      chapterId = bundle.getString("CHAPTERID"); 

     } 
+0

Ich benutze diese Lösung vor, aber ich bekomme null Zeiger Ausnahme in diesem –

+0

können Sie bitte teilen Sie Ihren Code, wie Sie es verwendet haben. – KDeogharkar

+0

Ich benutze dieses Thema, aber ich bekomme null pointerexception http://stackoverflow.com/a/12739968/5620129 –

0

Sie diese Art

Deklarieren Zwei Methoden

public String getChapterId() 
{ 
    return chapterId; 
} 

und zweites Verfahren

public String getLessionId() 
{ 
    return lessonId; 
} 
+0

Das ist keine gute Lösung für diese Arbeit. –

+0

Ja, ich weiß, aber Sie können ... –

Verwandte Themen