Differenza tra evento OnClick () e OnClickListener?

Sto sempre utilizzando l'evento onclick() nella maggior parte dei miei progetti. Ma, ho letto su OnClickListener() . Qualcuno può dire quale sia la differenza tra questi due? E quale è la cosa migliore da usare nell'applicazione Android ?.

  • Sqlite Elimina la syntax di query in Android
  • Pugnale non gradisce i costruttori che lanciano eccezioni
  • Come suonare il suono in android
  • Retrofit 2 - corpo di risposta nullo
  • Avviare l'applicazione in un momento specifico
  • <select> non funziona nell'applicazione Phonegap su Android 2.3.3
  • Come esportre un progetto nello studio Android?
  • Imansible trovare il gestore AVD o SDK in Eclipse
  • Come memorizzare e recuperare un arrays di byte (dati di image) da e verso un database SQLite?
  • (bisogno di consigli) Parlare con il database MySQL server dalla mia applicazione Android
  • Rendere il centro gridView in Android
  • Modifica del livello di API Android Studio
  • 14 Solutions collect form web for “Differenza tra evento OnClick () e OnClickListener?”

    Non sono sicuro che la questione sia chiara. View.OnClickListener è un'interface che definisce il metodo onClick(View) . Se si dispone di una class che intende ascoltare i clic, è necessario implementare l'interface (se non già estende una class che fa) e implementare anche questo metodo. Devi usare entrambi; non sono in qualche modo alternative.

    OnClickListener è l'interface che è necessario implementare e può essere impostata su una vista nel codice java.

    Ultimamente android ha aggiunto un attributo xml alle viste denominate android:onclick , che possono essere utilizzate per gestire i clic direttamente nell'attività della visualizzazione senza necessità di implementare alcuna interface.

    Entrambi funzionano allo stesso modo, solo quello che viene impostato tramite il codice java e l'altro attraverso il codice xml.

    Sto assumendo da onClick che si utilizza è quello che definisci in Layout XML. Queste due sono alternative che servono la stessa function ma vengono implementate in modo diverso.

    1. L' onClick con la function di binding in Layout XML è un legame tra onClick e la function che verrà chiamata. La function deve avere un argomento (la View ) in modo che funzioni onClick.

    2. Un OnClickListener è un'interface che qualsiasi class può implementare. Poiché è un'interface che qualsiasi class può implementare, questo ha maggiore flessibilità e più complessa nella sua forma. Poche flessibilità che potresti avere con OnClickListener

      • Potresti facilmente sostituire un'applicazione di listener con un'altra se ti serve.
      • Un OnClickListener consente di separare l'azione / comportmento dell'evento click dal View che triggers l'evento. Mentre per casi semplici questo non è un grosso problema, per una gestione complessa di events, questo potrebbe significare una migliore leggibilità e manutenzione del codice
      • Poiché OnClickListener è un'interface, la class che lo implementa ha flessibilità nella determinazione delle variables di istanza e dei methods necessari per gestire l'evento. Di nuovo, questo non è un grosso problema in casi semplici, ma per i casi complessi non vogliamo necessariamente combinare le variables / methods relativi alla gestione degli events con il codice della vista che innesca l'evento.

    OnClickListener è ciò che attende che qualcuno effettua effettivamente clic, onclick determina cosa succede quando qualcuno scatta

    l'ascoltatore è una class, l'onclick è un metodo, questa distinzione non è molto utile in casi semplici, ma se vuoi essere più complicato diventa più necessario

     Button button = (Button)findViewById(R.id.buttonId); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Do stuff } }); 

    OnClickListener è un'interface e onClick è metodo di OnClickListener .

    Noi usiamo

      public void button_onClick_name(View v) { ------- } 

    per definire un metodo fuori dalla class. Ma per definire un componente Click evento all'interno di una class, utilizziamo listener onclick.

    Ci sono un paio di motivi per cui si potrebbe desiderare di impostare in modo programmato un OnClickListener . La prima è se si desidera modificare il comportmento del button mentre l'applicazione è in esecuzione. Puoi puntare il button in un altro metodo interamente o semplicemente distriggersre il button impostando un OnClickListener che non fa nulla.

    Quando si definisce un listener utilizzando l'attributo onClick , la vista cerca un metodo con tale nome solo nell'attività host. La programmazione di un OnClickListener consente di controllare il comportmento di un button da un luogo diverso dall'attività host. Questo diventerà molto rilevante per i Fragments , i Fragments sempre bisogno di utilizzare OnClickListeners per controllare i loro pulsanti, in quanto non sono attività e non verranno ricercati per gli ascoltatori definiti in onClick .

    Usiamo OnClick in xml e OnClickListner nel codice java . Entrambi sono utilizzati per eseguire una function.

    Considera "OnClickListener" come un ragazzo che aspetta il tuo utente a click sul button della tua app. Allora il tuo ragazzo eseguirà il tuo metodo OnClick () .

    Devi mettere un id sul tuo button nel file xml, quindi assegnargli un nome nel file MainActivity.java. Quindi impostare un ascoltatore di clic sul tuo ragazzo. E aggiungi il tuo metodo onClick. Ecco perché onClick è legato all'interface View.OnClickListener: https://developer.android.com/reference/android/view/View.OnClickListener.html

    Esempio :

     Button myButton = (Button)findViewById(R.id.myButton); myButton.setOnClickListener(new View.OnClickListener(){ @override public void onClick(View v) { // your method... } } 

    Puoi aggiungere l'attributo android:onClick="your_method" nel tuo XML.

    Esempio:

      <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click" android:onClick="your_method"/> 

    Quando vogliamo aggiungere listener clic su button nel codice Java, utilizziamo OnClickListener .
    Quando vogliamo aggiungere il listener clic su button nel file di layout, utilizziamo android:onClick="your_method"
    Se utilizzi la variante XML, devi implementare your_method nella class app.

    Ci sono un paio di motivi per cui si potrebbe desiderare di impostare in modo programmato un OnClickListener. La prima è se si desidera modificare il comportmento del button mentre l'applicazione è in esecuzione. Puoi puntare il button in un altro metodo interamente o semplicemente distriggersre il button impostando un OnClickListener che non fa nulla.

    Quando si definisce un listener utilizzando l'attributo onClick, la vista cerca un metodo con tale nome solo nell'attività host. La programmazione di un OnClickListener consente di controllare il comportmento di un button da un luogo diverso dall'attività host. Ciò diventerà molto rilevante quando apprendiamo i frammenti, che sono fondamentalmente mini attività, permettendo di build raccolte di punti di vista riutilizzabili con il loro ciclo di vita, che può poi essere assemblato in attività. I frammenti devono sempre utilizzare OnClickListeners per controllare i loro pulsanti, in quanto non sono attività e non verranno ricercati per gli ascoltatori definiti in onClick.

    ognuno ha parlato di OnClickListener listner che è sempre usato. voglio aggiungere un altro punto android:onClick funziona come metodo e non ha bisogno di essere il riferimento quindi è utile quando devi aggiungere il button dopo che un certo task viene eseguito in modo da non farlo riferimento a OnClickListener .

    Per un example quando creiamo viewpager con solo layout (senza frammenti) se si inserisce un button in qualsiasi layout è insializzato solo quando il layout è visibile in modo da non poter utilizzare il metodo findViewById per il button in quel caso android:onClick diventato utile mettere solo quel metodo in attività !!

    Ecco la terminologia semplice Se u sono a casa e U vuole call qualcuno .. può call direttamente e possono ascoltare u. (utilizzare onclick). Ma se u sono al di fuori e u vuole call qualcuno a casa u bisogno di utilizzare sia telefono o Internet (bisogno di utilizzare onclicklistener). In Android tutto inizia da casa, oa attività principale Questo è il modo in cui android facilita il lavoro di un anno; quando u hanno un'attività u non è necessario colbind un ascoltatore, creare object e definirlo. Basta usare onClick. Onclicklistener sono generalmente utilizzati in frammenti. Quindi tenga il codice.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.