2010-08-23 14 views
6

Tengo un problema en este momento con setOnClickListener.Botón error de setonclicklistener

cuando pongo esta línea siguiente:

button.setOnClickListener(this); 

y ejecutar la aplicación, entonces no se ejecuta y muestra un mensaje de que "Aplicación cerradas por la fuerza".

¿Podría ayudarme por favor cómo puedo configurar el evento button onclick en Android 2.2?

+0

favor comparta el código y registro de errores :) –

Respuesta

7

ver si el código de abajo funciona para usted ...

button.setOnClickListener(new OnClickListener() {    
    @Override 
    public void onClick(View v) 
    { 
     Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG).show(); 
    }  
});  

recuerde agregar }); al final.

+3

muchas gracias por las respuestas. Tengo la solución. De hecho, estaba poniendo el código del botón en clicklistener en la página de codificación de la pantalla Splash. Gracias – chandu

4

Para definir botón evento click en el androide, Puede probar el código de abajo:

public class Main_Activity extends Activity { 


    private Button myButton; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 


    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    myButton = (Button) findViewById(R.id.Button01); 
    myButton.setOnClickListener(new Button_Clicker()); 
} 

class Button_Clicker implements Button.OnClickListener 
{ 
    @Override 
    public void onClick(View v) { 

     if(v==myButton) 
     { 
       Toast.makeText(v.getContext(), "Hello!! button Clicked", Toast.LENGTH_SHORT).show(); 

     }  
} 
} 

}

2

A pesar de que ha pasado mucho tiempo, pensé que podría ayudar a otras personas que tienen este problema, me llevó muchas pruebas para hacerlo bien. Pero creo que lo que finalmente resolvió mi problema fue establecer el atributo clicable de un botón en el xml del diseño en verdadero. muestra
Código:

<Button android:text="Button" android:id="@+id/button1" 
android:layout_width="wrap_content" android:layout_height="wrap_content" 
android:clickable="true"> 
</Button> 

Además, si usted ha mirado en la perspectiva DDMS, que podría haber obtenido que la causa del error fue NullPointerException, que por supuesto se muestra porque se puede hacer clic no se ha establecido. Corrígeme si estoy equivocado.

+1

Me gustaría corregirme. No creo que lo de arriba sea la solución correcta. Si alguien obtiene una NullPointerException, aunque el botón se haya asignado correctamente utilizando findViewById, es decir 'Button button = (Button) findViewById (R.id.somebutton);', entonces sugeriría, para limpiar la compilación actual y reconstruir. Me pasó algunas veces. –

4

otra razón posible (me pasó a mí) es que su actividad debe implementar OnClickListener

public class MainActivity extends Activity implements OnClickListener ... 
2

Tipo View.onClickListener en lugar de Button on ClickListener

0

Comprobar si en la definición de clase no es implements OnClickListener

Cuestiones relacionadas