2012-03-26 10 views
9
<uses-sdk android:minSdkVersion="8" /> 

metoda onClick zdefiniowane w XML metodaAndroid: Dlaczego metoda onClick nie działa?

<TextView 
    android:id="@+id/titlemainpage" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"  
    android:text="Social To Dos" 
    android:onClick="testing" /> 

Testy stosowane w klasie Java jest

public void testing(View v){ 

    Toast.makeText(this, "Clicked", Toast.LENGTH_LONG).show(); 

    textview.setTextColor(Color.CYAN); 
} 
+0

Jeśli rzucasz "wyjątek", opublikuj dziennik. – adneal

+0

po kliknięciu widoku tekstowego nic się nie dzieje –

+1

Chcesz zastąpić onClick. Zobacz [to] (http://stackoverflow.com/questions/4613333/clickable-textview-in-android), aby uzyskać więcej informacji. – keyser

Odpowiedz

30

Dodaj jeszcze jeden atrybut do TextView w xml:

android: klikalne = "true"

+1

Wielkie dzięki!! To działało po wyjęciu z pudełka od dnia, w którym zacząłem tworzyć aplikację ... Ale nagle dzisiaj: TextView's onClick = "methodName" nie było w ogóle wywoływane na urządzeniach pre-Lollipop. Dlaczego to zadziałało do tej pory, jest teraz zagadką: P –

-3

może się mylę, ale myślę, że trzeba zaimplementować słuchacza raczej niż przy użyciu prostej funkcji .

Sprawdź this website.

+0

onClick przez XML jest funkcją od 1.6: http://developer.android.com/about/versions/android-1.6.html – ShiDoiSi

1

Przyciski są domyślnie klikalne ale TextView nie są. Jeśli nie ustawisz bezpośrednio detektora onClick w czasie wykonywania, tekstViewView nie będzie można klikać na urządzeniach pre-Lollipop.

Więc jeśli chcesz, aby klikalny TextView który zahacza o słuchacza w pliku XML szablonu należy użyć

android:clickable="true" 
0

Nie zapomnij usunąć na kliknięcia słuchacza (jeśli ustawione, że programowo wewnątrz zawierające aktywność).

Powiązane problemy