2013-05-24 9 views
5

Chcę użyć istniejącej metody onClick, aby uprościć mój program. Składa się z metody onClick i inne metody:Metoda połączenia Android onClick bez kliknięcia

@Override 
public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.button1: 
    .... 
    break; 
    } 
} 

void foo(){ 
    .... 
    onClick(????); 
} 

Czy jest jakiś sposób, aby to zrobić to samo zachowanie jak po kliknięciu go na telefonie?

+3

[performClick()] (http://developer.android.com/reference/android/view/View.html#performClick()) :) –

+0

ale jak określić który przycisk wykonuje programowo? –

+0

dlaczego zrobiłbyś kliknięcie bez kliknięcia? –

Odpowiedz

13

można użyć View.performClick()

reference

+1

to jest to, czego potrzebuję. dzięki –

0

performClick() odegra dźwięk tak jak wtedy, gdy użytkownik kliknął na tym widoku, dlatego w większości przypadków lepiej jest użyć callOnClick(), który wywoła OnClickListener bez grania dowolny kliknij dźwięk. (Dostępne od poziomu API 15)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) myView.callOnClick(); //won't play sound 
else myView.performClick(); //will play sound