>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Erro SimpleCursorAdapter


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,



6 Respostas


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.(CursorAdapter.java:151)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.support.v4.widget.ResourceCursorAdapter.(ResourceCursorAdapter.java:93)
06-06 22:45:17.399: E/AndroidRuntime(444): at android.support.v4.widget.SimpleCursorAdapter.(SimpleCursorAdapter.java:89)
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.