2016-05-05 14 views
1

In meiner App, wenn Optionen Menü -> Über -> hier gedrückt wird, zeige ich Informationen mit DialogActivity.Wie setze ich textView.setText vor dem Start der Aktivität

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
TextView textview = OptionSelDialog.optionsTextView; //(static assigned and pulled in MainActivity) 
     case R.id.action_about: 
      textview.setText("This About Msg"); 
      startActivity(new Intent(this, OptionSelDialog.class)); 
      break; 

Hier OptionSelDialog ist getrennt Activity, noch nicht von überall genannt. Ich habe versucht:

  1. Aufruf startActivity von OptionSelDialog von MainActivity.OnCreate
  2. Intilizing Textview in OptionSelDialog construtor (ich weiß, das ist falsch)

Schließlich Aktivität mit textView is NULL ; Eine weitere Sache, Absturz, von Zum zweiten Mal App-Start funktioniert es gut.

Bitte helfen Sie mit der Lösung.

+0

starten Aktivität mit Text-Parameter –

Antwort

2

Eigentlich ist Ihr Weg nicht zu empfehlen. Wir haben viele Möglichkeiten, dies zu tun. Beispiel:

  1. die Daten in den Speicher halten und laden Sie es, nachdem Sie Aktivität Textview starten

  2. Wenn Sie neue Tätigkeit beginnen, Sie ein Bündel auf Ihre zweite Aktivität und von Ihrem zweiten activty passieren sollte, Sie zeige diesen Wert für textview an.

    Intent optionSelDialogIntent = new Intent(xxx.this,OptionSelDialog.class); 
    

    optionSelDialogIntent.putExtra("your key", "your text value"); startActivity(optionSelDialogIntent);

Zu Ihrer zweiten Aktivität:

Bundle bundle = getIntent().getExtras(); 
    if (bundle != null && bundle.containsKey("your key")) { 
     yourData = bundle.getString("your key"); 
    } 

dann init Ihre Textview und setText mit yourData. Das ist alles.

+0

Vielen Dank für die schnelle Antwort. ich habe zwar auch gleich versucht, funktionierte perfekt. – ARUN