2017-12-29 7 views
-3

Ich brauche die Zeichenfolge von EditText von Mainactivity, so dass ich den Wert vergleichen und zeigen Sie das gewünschte Bild in der nächsten ... aber nur der else Teil arbeitet in der zweiten Aktivität. Ich habe versucht, diesen Code aber es did't Arbeit ..String nicht in der zweiten Aktivität verglichen

private Button b1; 
static EditText et; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    et = (EditText)findViewById(R.id.pass); 
    b1 = (Button)findViewById(R.id.clickhere); 
    b1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      if(et.getText().toString().equals(getString(R.string.Ronnie))) 
      { 
       Intent myIntent = new Intent(MainActivity.this, 
     Thought.class); 
       startActivity(myIntent); 


      } 
      else if(et.getText().toString().equals(getString(R.string.Ankita))) 
      { 
       Intent myIntent = new Intent(MainActivity.this, Thought.class); 
       startActivity(myIntent); 

      } 

      else 
      { 
       Toast.makeText(getApplicationContext(),"Not for you",Toast.LENGTH_SHORT); 
      } 

     } 
    }); 
} 

und zweiten Aktivitätscode

public class Thought extends MainActivity { 

public ImageView iv; 
static String s1; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Intent intent=getIntent(); 
    setContentView(R.layout.activity_thought); 
    s1 = MainActivity.et.getText().toString(); 
    iv = (ImageView)findViewById(R.id.imageView); 
    if(s1.equals(getString(R.string.Ronnie))) 
    { 
     iv.setImageResource(R.drawable.ronniel); 
    } 
    else if(s1.equals(getString(R.string.Ankita))) 
    { 
     iv.setImageResource(R.drawable.ankitat); 
    } 
    else 
    { 
     iv.setImageResource(R.drawable.subha); 
    } 
} 
} 
+0

Ihre Frage sollte sein: "Wie Daten an eine andere Aktivität von Aktivität weitergeben", https: // stackoverflow.com/questions/2091465/how-doi-i-pass-data-between-activities-in-android-application –

+0

Mögliche Duplikate von [Wie übermittele ich Daten zwischen Aktivitäten in Android a Anwendung?] (https://stackoverflow.com/questions/2091465/how-doi-i-pass-data-between-activities-in-android-application) –

Antwort

0

Verwenden BundleStrings zwischen Aktivitäten passieren

private Button b1; 
static EditText et; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    et = (EditText)findViewById(R.id.pass); 
    b1 = (Button)findViewById(R.id.clickhere); 
    b1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      String pass = et.getText().toString(); 
      if(pass.equals(getString(R.string.Ronnie)) || pass.equals(getString(R.string.Ankita))) 
      { 
       Intent myIntent = new Intent(MainActivity.this, Thought.class); 
       myIntent.putExtra("pass",pass); 
       startActivity(myIntent); 


      }else{ 
       Toast.makeText(getApplicationContext(),"Not for you",Toast.LENGTH_SHORT); 
      } 

     } 
    }); 
} 

erhalten Daten wie

public class Thought extends Activity { 

public ImageView iv; 
static String s1; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_thought); 

    iv = (ImageView)findViewById(R.id.imageView); 

    final Intent intent = getIntent(); 
    Bundle bundle = intent.getExtras(); 

    if(bundle != null){ 
     String pass = bundle.getString("pass"); 
      if(pass.equals(getString(R.string.Ronnie))) 
       { 
       iv.setImageResource(R.drawable.ronniel); 
       } 
      else if(pass.equals(getString(R.string.Ankita))) 
      { 
       iv.setImageResource(R.drawable.ankitat); 
      } 

    }else 
    { 
     iv.setImageResource(R.drawable.subha); 
    } 
} 
} 
+0

es funktioniert nicht .. können Sie herausfinden, was sonst falsch ist –

+0

jeder Fehler in der Logcat .. überprüfen Sie den aktualisierten Code – Omi

+0

seine Arbeit..ich tat einen dummen Fehler ... sorry –

0

diesen Code versuchen: In Hauptaktivität

Intent myIntent = new Intent(MainActivity.this, Thought.class); 
myIntent.putstring("title",et.getText().toString()); 
startActivity(myIntent); 

dann in thought.class Einsatz :

s1 = getIntent().getstring("title"); 

und verwenden Sie diese anstelle von s1 = MainActivity.et.getText().toString();

0

MainActivity

b1.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     if(et.getText().toString().equals(getString(R.string.Ronnie))) 
     { 
      Intent myIntent = new Intent(MainActivity.this, 
     Thought.class); 
      myIntent.putExtra("MyEditText",et.getText().toString); 
      startActivity(myIntent); 


     } 
     else if(et.getText().toString().equals(getString(R.string.Ankita))) 
     { 
      Intent myIntent = new Intent(MainActivity.this, Thought.class); 
       myIntent.putExtra("MyEditText",et.getText().toString); 
      startActivity(myIntent); 

     } 

     else 
     { 
      Toast.makeText(getApplicationContext(),"Not for you",Toast.LENGTH_SHORT); 
     } 

    } 
}); 

SecondActivity

s1 = getIntent().getStringExtra("MyEditText") 
0

Sie EditText Wert durch Bündel von einer Aktivität zur anderen gelangen kann. Auf diese Weise können Sie den Bearbeitungstext vermeiden, indem Sie Code aus der zweiten Aktivität vergleichen.

Hier habe ich hinzugefügt Beispielcode

Erste Aktivität

Intent intent = new Intent(this, SecondActivity.class); 
intent.putExtra("editTextValue", et.getText().toString()); 
startActivity(intent); 

Zweite Aktivität

if(getIntent()!=null){ 
    String editTextValue = getIntent().getStringExtra("editTextValue"); 
} 

Und der Code wie folgt ändern. Eigentlich ist dies der richtige Weg, um einen Wert von einer Aktivität zu einer anderen zu übertragen.

 if(editTextValue.equals(getString(R.string.Ronnie))) 
     { 
      iv.setImageResource(R.drawable.ronniel); 
     } 
Verwandte Themen