2016-09-23 4 views
0

Ich habe zwei Aktivitäten, MainActivity und SecondActivity. In MainActivity habe ich 10 TextViews aufgeführt. Und alle anklickbar. Ich möchte zu SecondActivity gehen, wenn eines dieser TextViews angeklickt werden und zweite Activity zeigt Text über geklickt TextView.Wie ändert man die Strings einer Aktivität mit angeklickt TextView

Zum Beispiel:

MainActivity Textviews:

1) Mercedes
2) BMW
3) Audi
4) Porsche

Wenn Mercedes geklickt haben, in SecondActivity ein Text über mercedes und unter SecondActivity eine Zurück-Taste. Als BMW auf MainActivitySecondActivity geklickt hat, öffne wieder aber Text über BMW.

Ich hoffe ich könnte es erklären.

+0

Kannst du es nicht passieren Absicht nutzen? –

+0

Sie müssen Daten mit Bundles/Intents an andere Aktivitäten Vergangenheit – Aspicas

+0

Sie möchten clicklistener implementieren und übergeben Sie die Daten im Bundle oder mit putExtra Funktion –

Antwort

0

MainActivity hilft:

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    TextView textview = (TextView) findViewById(R.id.bmw); 
    textview.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent=new Intent (this,SecondActivity.class); 
      intent.putExtra("data","BMW"); 

      startActivity(intent); 
     } 
    }); 

    //similarly send data to next activity 
    } 
} 

SecondActivity:

public class SecondActivity extends Activity { 

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

    Intent intent=getIntent(); 
    String message = intent.getStringExtra("data"); 

    TextView textview = (TextView) findViewById(R.id.textView); 

    textView.setText(message); 

    } 
} 
1

Sie Daten Activity A-Activity Bbundle und intent mit passieren kann

Um eine

Bundle bundle = new Bundle(); 
bundle.putString("Datas", brandString); 
Intent intent = new Intent(this, ActivityB.class); 
intent.putExtras(bundle); 

Daten von Aktivität zu senden Um Daten von Aktivität B

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

if (bundle != null) { 
    String data = bundle.getString("Datas"); 
    StringBrand = data; 
    StringBrand = getIntent().getExtras().getString("Datas"); 
} 
0

zu erhalten Sie müssen zwei Schritte tun:

für jede Ihrer TextView, fügen Sie eine onClickListener.

Sie können es sogar tun, auf XML-Seite:

<TextView 
    ... 
    android:onClick="onClick" 
    android:clickable="true" 
/> 

Sie selbst es tun kann eine onClickListener von Java-Seite auf jeder Textview, indem

Auf Java-Code Sie wie folgt vor :

private void onClick(View v){ 
    String clickedText = ((TextView)v).text); 
    Intent intent = new Intent(this, ActivityB.class); 
    intent.putExtra("key", clickedText); 
    startActivity(intent); 
} 

jetzt auf ACTIVITYB Code tun Sie Folgendes in onCreate

Intent retrieved = getIntent(); 
String chosenWord = retrieved.getStringExtra("key"); 
if(chosenword != null){ 
    switch(chosenWord){ 
    case "BMW": 
     myTextView.text = "BMW detail text"; 
     break; 
    ... 
    } 
} 

Hope this

Verwandte Themen