Frage

Ich habe eine Idee zu setzen android:onClick="myClickMethod" für mehrere TextViews.

<TextView
    android:id="@+id/search_suggestion_1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:onClick="myClickMethod"                
    android:clickable="true"/>

<TextView
    android:id="@+id/search_suggestion_2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:onClick="myClickMethod"                
    android:clickable="true"/>

<TextView
    android:id="@+id/search_suggestion_3"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:onClick="myClickMethod"                
    android:clickable="true"/>

Wie kann ich unterscheiden, von welcher TextView myClickMethod() aufgerufen wird?

War es hilfreich?

Lösung

Sie können es mithilfe der IDs jeder Textansicht tun.Verwenden Sie das Schalterkasten in Ihrem MyClickMethod basierend auf der Textansicht-ID.Sie können auch Textansichten mit den Tags differenzieren.

Andere Tipps

Sie können eine festlegen tag für jeden von ihnen.So zum Beispiel zum ersten Mal View verwenden android:tag="1" und so weiter.

In deinem onClick Methode, einfach verwenden v.getTag() und Sie werden sie unterscheiden können.

Sie können einen einfachen Schaltkasten verwenden

generasacodicetagpre.

Wenn Sie eine Funktion in der Aktivität wie:

erstellen generasacodicetagpre.

generasacodicetagpre.

Sie können verwenden switch-case eine Entscheidung treffen welche Textview wird durch Vergleich ihrer gedrückt id.

public void myClickMethod(View v) {

    switch(v.getd()) {

        case R.id.search_suggestion_1:
           //code here
           break;

        case R.id.search_suggestion_2:
           //code here
           break;

       case R.id.search_suggestion_3:
          //code here
          break;
   }

}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top