2016-08-30 3 views
-2

Ich bin ein Anfänger der Programmierung Android. Ich entwarf eine App, die Benutzerinformationen aufzeichnen muss. Ich verstehe, wie man Text von EditText erhält und als TextView für eine andere Aktivität anzeigt. Ich bin verwirrt darüber, wie putExtra() Wert in EditText übergeben wird, kann mir jemand einen Vorschlag geben ??Wie übergeben Sie putExtra() Wert in editText von Intent Activity?

Erste Aktivität:

...... 
abc.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
      Intent agreeTerms = new Intent(terms.this, user_info.class); 
      agreeTerms.putExtra("Email ID on plan_type", getEmail); 
      startActivity(agreeTerms); 
    } 
} 
...... 

Zweite Aktivität (Welche putExtra() Wert von First Aktivität erhalten):

public class user_info extends AppCompatActivity { 
    EditText getEmail; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.user_info); 
     getEmail = (EditText)findViewById(R.id.txtEmail); 

     if (savedInstanceState == null) { 
      Bundle extras = getIntent().getExtras(); 
      if(extras == null) { 
       getEmail = null; 
      } else { 
       getEmail = extras.getString("Email ID on plan_type"); 
       getEmail.setText(getEmailFromID, TextView.BufferType.EDITABLE); 
      } 
     } 
    } 
} 

Vielen Dank für jedermann zu sehen und mein Problem zu beantworten.

+2

Sie setzen 'getEmail' als Wert für Ihr' extra' - welcher Typ ist das? Oder versuchen Sie den Wert des 'EditText' zu erhalten, wo der Benutzer seine Email eingegeben hätte? Berücksichtigen Sie auch, dass der Schlüssel nur "E-Mail" ist - ich verstehe nicht, warum Sie einen Satz als Schlüssel verwenden. – ishmaelMakitla

+0

@ishmaelMakitla, guter Vorschlag. Entwickler sollte den Schlüssel mit klarer, prägnanter Bedeutung benennen. Was bedeutet übrigens die Variable "getEmailFromID"? –

+0

Das Code-Snippet enthielt den Kompilierzeitfehler. Ich frage mich, warum jede Antwort antworten kann, ohne sie im Detail zu betrachten. –

Antwort

0
getEmail.setText(getIntent().getStringExtra("Email ID on plan_type")); 
0
Intent intent=getIntent(); 
    if(intent!=null){ 
     Bundle bundle=intent.getExtras(); 
     if(bundle!=null){ 
     String value = bundle.getString("Email ID on plan_type"); 
     if(value != null) 
      { 
      getEmail.setText(value); 

      } 
     } 
    } 
0

In First Aktivität:

abc.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
      Intent agreeTerms = new Intent(terms.this, user_info.class); 
      agreeTerms.putExtra("Email ID on plan_type",editText.getText().toString()); 
      startActivity(agreeTerms); 
    } 
} 

In SecondActivity:

public class user_info extends AppCompatActivity { 
    EditText getEmail; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.user_info); 
     getEmail = (EditText)findViewById(R.id.txtEmail); 

     if (savedInstanceState == null) { 
       String getEmail =getIntent().getStringExtra("Email ID on plan_type"); 
       getEmail.setText(get_Email); 

     } 
    } 
} 
0

Ich muss für alle bemitleiden. Ich bin unvorsichtig für Korrekturlesen und debugge die Anwendung, die von Ex-Kollegen codiert wurde. Die Farbe des EditText ändert sich zu #FFFFFF (Ich weiß nicht, warum oder einige Support-Bibliotheken damit kollidieren.). Also, ich unterstreiche es, es hat einen Wert ohne irgendwelche Änderungen des Codes.

Ich entschuldige mich bei Mitgliedern, die Zeit verschwenden, um meine dumme Frage zu lesen oder zu beantworten.

Verwandte Themen