2016-04-18 10 views
0

Ich versuche, eine App, die einen Text für jedes Bild anzuzeigen, habe ich vier Bilder und vier Textansichten importiert, aber wenn ich auf eines der Bild drücken, wird es den gleichen Text anzeigen. und zeigen Sie die 4 Texte in der gleichen ZeitWie verknüpfe ich Bilder mit Texten im Android Studio?

an, wie man einen unterschiedlichen Text mit jedem Bild anzeigt. (Ich arbeite in der Main2Activity)

xml Code

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="WELCOME " 
    android:id="@+id/t1" 
    android:textSize="50dp" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="49dp" 
    android:checked="true"/> 


<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="ANDROID" 
    android:id="@+id/t3" 
    android:textSize="50dp" 
    android:layout_above="@+id/t4" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="45dp" 
    android:checked="false"/> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="STUDIO" 
    android:id="@+id/t4" 
    android:textSize="50dp" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="91dp" 
    android:checked="false"/> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="TO" 
    android:id="@+id/t2" 
    android:layout_below="@+id/t1" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="47dp" 
    android:textSize="50dp" 
    android:checked="false"/> 

Java-Code

public class Main2Activity erweitert Aktivität implementiert View.OnClickListener { Textview T1, T2, T3, T4, Textview;

@Override 
public void onCreate (Bundle savedInstanceState, PersistableBundle persistentState) { 
    super.onCreate (savedInstanceState, persistentState); 
    setContentView(R.layout.activity_main); 
    t1 = (TextView) findViewById (R.id.text); 
    t1.setOnClickListener (this); //here you're setting onClickListener to listen for taps 
    textview = (TextView) findViewById (R.id.t1); 
    t2.setOnClickListener (this); 
    textview = (TextView) findViewById (R.id.t2); 
    t3.setOnClickListener (this); 
    textview = (TextView) findViewById (R.id.t3); 
    t4.setOnClickListener (this); 
    textview = (TextView) findViewById (R.id.t4); 
} 

@Override 
public void onClick (View v) { //this is an implementation of OnClickListener interface 
    switch (v.getId()){ //here you're reading id of the taped button and doing something depending on what TextView taped 
     case R.id.t1: 
      t1.setText ("leo"); 
      break; 
     case R.id.t2: 
      t2.setText ("mike"); 
      break; 
     case R.id.t3: 
      t3.setText ("raph"); 
      break; 
     case R.id.t4: 
      t4.setText ("don"); 
      break; 
    }}} 
+0

Versuchen android mit: drawableLeft = „Bildpfad“ und gleiche, wenn Sie Willst du richtig verwenden –

Antwort

0

Sie müssen View.OnClickListener in Ihrer Tätigkeit implementieren, wo Textviews deklariert sind. Code sollte irgendwie so aussehen

@Override 
public void onCreate (Bundle savedInstanceState, PersistableBundle persistentState) { 
    super.onCreate (savedInstanceState, persistentState); 
    setContentView(R.layout.activity_main); 
    t1 = (TextView) findViewById (R.id.t1); 
    t1.setOnClickListener (this); 

    t2 = (TextView) findViewById (R.id.t2); 
    t2.setOnClickListener (this); 

    t3 = (TextView) findViewById (R.id.t3); 
    t3.setOnClickListener (this); 

    t4 = (TextView) findViewById (R.id.t4); 
    t1.setOnClickListener (this); 
} 

@Override 
public void onClick (View v) { //this is an implementation of OnClickListener interface 
    switch (v.getId()){ //here you're reading id of the taped button and doing something depending on what TextView taped 
     case R.id.t1: 
      t1.setText ("leo"); 
      break; 
     case R.id.t2: 
      t2.setText ("mike"); 
      break; 
     case R.id.t3: 
      t3.setText ("raph"); 
      break; 
     case R.id.t4: 
      t4.setText ("don"); 
      break; 
    }}} 

Wenn Sie mehr als eine Textview haben dann Sie .setOnClickListener (this) müssen auf jeden von ihnen

+0

können Sie überprüfen, was ich ändern, weil es keine Anzeige angezeigt wird, wenn ich auf das Bild drücke.did ich ändern wright oder muss behoben werden. ,,, Entschuldigung ich bin neu in android Studio – samawi

+0

Ich habe den obigen Code aktualisiert . – samawi

+0

Ich habe meine Antwort bearbeitet, um Ihren Code vollständig anzupassen, verwenden Sie ihn. – Arthur

Verwandte Themen