>
Bom dia,
Estou com uma dúvida quanto há um erro apresentado no aplicativo de vendas desenvolvido no curso de android online.
Erro:
The constructor SimpleCursorAdapter(Context, int, Cursor, String[], int[]) is deprecated
Código:
SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(), R.layout.spinner, cursor, from, to);
spProdutos.setAdapter(ad);
Como resolver esse problema?
A mensagem fala para utilizar o fórum para sanar esse tipo de dúvida, porém, o mesmo encontra-se em manutenção.
Obrigado,
Olá, utilize este exemplo:
public SimpleCursorAdapter (Context context, int layout,
Cursor c, String[] from, int[] to, int flags)
Ou seja, coloque um parâmetro a mais, um zero, na instância da classe SimpleCursorAdapter
Rafael,
Eu já havia colocado o '0', porém, mesmo assim não obtive resultado positivo.
O problema ainda assim persiste.
Obrigado,
Vinicius
Ele não deixa compilar?
Pode me enviar um print?
Rafael,
Quando eu coloco o zero ele compila, porém, quando clico no botão nova venda o aplicativo fecha.
Segue erro do logcat:
06-06 22:45:17.379: D/AndroidRuntime(444): Shutting down VM
06-06 22:45:17.379: W/dalvikvm(444): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-06 22:45:17.399: E/AndroidRuntime(444): FATAL EXCEPTION: main
06-06 22:45:17.399: E/AndroidRuntime(444): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.vsalless.vendas/br.com.vsalless.vendas.NovaVendaActivity}: java.lang.IllegalArgumentException: column '_id' does not exist
06-06 22:45:17.399: E/AndroidRuntime(444): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.os.Handler.dispatchMessage(Handler.java:99)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.os.Looper.loop(Looper.java:123)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-06 22:45:17.399: E/AndroidRuntime(444): at java.lang.reflect.Method.invokeNative(Native Method)
06-06 22:45:17.399: E/AndroidRuntime(444): at java.lang.reflect.Method.invoke(Method.java:521)
06-06 22:45:17.399: E/AndroidRuntime(444): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-06 22:45:17.399: E/AndroidRuntime(444): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-06 22:45:17.399: E/AndroidRuntime(444): at dalvik.system.NativeStart.main(Native Method)
06-06 22:45:17.399: E/AndroidRuntime(444): Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
06-06 22:45:17.399: E/AndroidRuntime(444): at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:314)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.support.v4.widget.CursorAdapter.init(CursorAdapter.java:174)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.support.v4.widget.CursorAdapter.
06-06 22:45:17.399: E/AndroidRuntime(444): at android.support.v4.widget.ResourceCursorAdapter.
06-06 22:45:17.399: E/AndroidRuntime(444): at android.support.v4.widget.SimpleCursorAdapter.
06-06 22:45:17.399: E/AndroidRuntime(444): at br.com.vsalless.vendas.NovaVendaActivity.iniciaSpinner(NovaVendaActivity.java:52)
06-06 22:45:17.399: E/AndroidRuntime(444): at br.com.vsalless.vendas.NovaVendaActivity.onCreate(NovaVendaActivity.java:20)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-06 22:45:17.399: E/AndroidRuntime(444): ... 11 more
Olá
Olha o erro:
Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
você criou o campo _id? ou colocu id, olha o underline ali.
Rafael,
O problema estava no ID.
Erro corrigido.
Obrigado.