Tengo un error: setOnItemClickListener no se puede utilizar con un spinner, ¿qué está mal?
Por favor Este es mi código de abajo, y estoy pegando los mensajes de error debajo: Estoy tratando de usar setOnItemClickListener
en el hilandero, ¿es permisible?
@Override public void onItemClick(AdapterView<?> arg0, View v, int index, long arg3) { if (quantity[index]=="Meter" ){ s1="Meter"; Toast.makeText(v.getContext(), "convert from meter",Toast.LENGTH_SHORT).show(); } } }); convertto.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg, View v1, int index1, long arg4) { if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Meter"))) { Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show(); var2=var1; lresult.setText("" + var2); } } }); } }
Y aquí están los errores
- Eliminar todo después de una parte de una cadena
- ¿Por qué mi android enviar método de intento de correo electrónico no es el trabajo
- Listener ya en uso (Service Discovery)
- Necesito descargar varias imágenes al directorio para poder acceder al contenido sin conexión
- Convertir enum enumerado a Ennotación enumerada en android
FATAL EXCEPTION: main 07-04 09:48:39.912: E/AndroidRuntime(694): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.a2zunitconverter.miniproject/com.a2zunitconverter.miniproject.lenght}: java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner. 07-04 09:48:39.912: E/AndroidRuntime(694): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.os.Handler.dispatchMessage(Handler.java:99) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.os.Looper.loop(Looper.java:123) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.app.ActivityThread.main(ActivityThread.java:3683) 07-04 09:48:39.912: E/AndroidRuntime(694): at java.lang.reflect.Method.invokeNative(Native Method) 07-04 09:48:39.912: E/AndroidRuntime(694): at java.lang.reflect.Method.invoke(Method.java:507) 07-04 09:48:39.912: E/AndroidRuntime(694): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 07-04 09:48:39.912: E/AndroidRuntime(694): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 07-04 09:48:39.912: E/AndroidRuntime(694): at dalvik.system.NativeStart.main(Native Method) 07-04 09:48:39.912: E/AndroidRuntime(694): Caused by: java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner. 07-04 09:48:39.912: E/AndroidRuntime(694): at android.widget.Spinner.setOnItemClickListener(Spinner.java:102) 07-04 09:48:39.912: E/AndroidRuntime(694): at com.a2zunitconverter.miniproject.lenght.onCreate(lenght.java:31) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 07-04 09:48:39.912: E/AndroidRuntime(694): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 07-04 09:48:39.912: E/AndroidRuntime(694): ... 11 more
- Simple XML analiza XML a la lista
- Un patrón de diseño para evitar múltiples ifs
- Escribir archivos en el almacenamiento externo en Android fallando
- Cómo manejar este tipo de datos en Array - JAVA
- ¿Cómo puedo agregar datos que he introducido en un cuadro de EditText en una matriz para enumerar en otra actividad?
- ¿Cómo ejecutar y mostrar el resultado de un comando shell ssh con JSch?
- Incompatibilidad de Google Play Services
- ¿Debo hacer `Thread.currentThread (). Interrupt ()` before `throw new InterruptedIOException ()`?
Vea la primera línea de su logcat:
java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.
setOnItemClickListener
no se puede utilizar con un Spinner
. Utilice setOnItemSelectedListener
en setOnItemSelectedListener
lugar.
Como @Alex muy bien dicho, usted tiene que usar
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { } @Override public void onNothingSelected(AdapterView<?> parent) { } });
O si está utilizando ButterKnife:
@OnItemSelected(R.id.spinner) public void onSpinnerItemSelected(int index){ // ... }
Cambia esto
convertto.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg, View v1, int index1, long arg4) { if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Meter"))) { Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show(); var2=var1; lresult.setText("" + var2); } } });
A onItemSelectedListener,
convertto.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Meter"))) { Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show(); var2=var1; lresult.setText("" + var2); } } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } });
Parece que no puedes usar itemClickListener en tu Spinner,
Aquí está la línea de error que lo explica,
07-04 09:48:39.912: E/AndroidRuntime(694): Caused by: java.lang.RuntimeException: setOnItemClickListener cannot be used with a spinner.
- ¿Cómo importar el proyecto de Android Studio en Eclipse?
- ¿Cómo capturar el contenido de la pantalla del dispositivo Android?