>
Boa noite
Desculpe- me por criar o Tópico novamente
Estou com erro na criação do SimpleCursorAdapter esta me dando a mensagem
Call requires API level 11 (current min is 8): new android.widget.SimpleCursorAdapter
e nao consigo compilar.
Cara... não sei se é isso, mas verifica no inicio do código se o seu import é esse aqui:
import android.widget.SimpleCursorAdapter;
ja havia colocado o import mas ainda da o erro.... acho que vou reinstalar o eclipse
Cristiano
Veja que o
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags) é da API level 11.
Tente assim:
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to);
Veja o curso de Android Best Practices, lá é falado de como criar os próprios adapater, que é uma boa prática.
olá, estou com um problema parecido
no meu caso, informa que o método está depreciado. Qual método devo usar agora?
Resolvi o problema da seguinte forma:
Quando ele apresenta o erro, coloco o mouse em cima do erro, conforme a figura mostrada no post acima, e escolho a primeira opção Add@SuppressLint'New API' to 'OnCreate()'. Fazendo isso o eclipse acrescenta o seguinte import: import android.annotation.SuppressLint; e pronto, o erro some. Gostaria de saber se essa é a forma correta de resolver o problema e se sim, que pacote é esse que eclipse importou para resolver esse problema?
Co relação ao ultimo parâmetro do construtor SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags), int flags, para que ele serve?
Thadeu Batista esta opção de add@SuppressLint'New API' to 'OnCreate() voce conseguiu compilar certinho no emulador do android?
Consegui fazer funcionar neste modo conforme a figura abaixo.(com um SimpleCursorAdapter tachado)
http://rlsystem.com.br/forum/disco/uploads/8200161ed10e038f281d5b7fcd0b72ef-erro.jpg
Obrigado pela ajuda
olá cristiano, sim consegui compilar certinho depois que adicionei este recurso. Sumiu todos os erros e a aplicação ta rodando normalmente. Só não entendo para que ela serve. Gostaria que o Rafael explicasse o que ocorreu, se esse é a solução correta para esse tipo de erro e o que é esse add@SuppressLint.
Ola pessoal ...
Não sei se deveria continuar o post, mas como meu problema é semelhante, resolvi aproveitar post.
No meu caso nao acusa erro, porem na compilação no momento de chamar a activity de vendas da um erro no emulador pedindo para forrçar a finalização.
Os testes que realizei retirando o trecho de codigo :
SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(), R.layout.spinner, cursor, from, to,0);
spProduto.setAdapter(ad);
Após retirrar este codigo ele chama a activity normalmente.
Obrigado pessoal.
Ola pessoal, o meu caso é parecido também,
ele não reconhece o spProduto.setAdapter(ad);
conferi os "import" dos prints, e não mudou nada...
Estou tendo o mesmo problema... o aplicativo não quer compilar
vejam só... peguei isso do 3º vídeo da aula gratuita
package br.com.example.rlsystem.androidday;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.ListView;
//import android.widget.SimpleCursorAdapter;
public class ListarActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listar);
SQLiteDatabase db = openOrCreateDatabase("clientes.db", Context.MODE_PRIVATE, null);
StringBuilder sqlClientes = new StringBuilder();
sqlClientes.append("CREATE TABLE IF NOT EXISTS clientes (");
sqlClientes.append("_id INTEGER PRIMARY KEY, ");
sqlClientes.append("nome VARCHAR(30), ");
sqlClientes.append("email VARCHAR(30)), ");
// sqlClientes.append("insert into clientes(_id, nome) values(1, 'Guilherme')");
db.execSQL(sqlClientes.toString());
Cursor cursor = db.rawQuery("SELECT * FROM query", null);
String[] from = {"_id", "nome"};
int[] to = {R.id.txvID, R.id.txvNome};
@SuppressWarnings("deprecation")
android.widget.SimpleCursorAdapter ad = new android.widget.SimpleCursorAdapter(getBaseContext(),R.layout.listar_model,
cursor, from, to);
ListView ltwDados = (ListView)findViewById(R.id.ltwDados);
ltwDados.setAdapter(ad);
}
}
Lembrando que na linha 35, aonde está "new android.widget.SimpleCursorAdapter(...)" o SimpleCursorAdapter está riscado
Pessoal,
o import ta é errado, seria este:
android.support.v4.widget.SimplesCursorAdapter
Está dando o mesmo erro
O "SimpleCursorAdapter" continua riscado
Coloque mais um parâmetro nele, depois do to, coloque um 0.
está aqui o código
package br.com.example.rlsystem.androidday;
import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.widget.ListView;
//import android.widget.SimpleCursorAdapter;
public class ListarActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listar);
SQLiteDatabase db = openOrCreateDatabase("clientes.db", Context.MODE_PRIVATE, null);
StringBuilder sqlClientes = new StringBuilder();
sqlClientes.append("CREATE TABLE IF NOT EXISTS clientes (");
sqlClientes.append("_id INTEGER PRIMARY KEY, ");
sqlClientes.append("nome VARCHAR(30), ");
sqlClientes.append("email VARCHAR(30)), ");
// sqlClientes.append("insert into clientes(_id, nome) values(1, 'Guilherme')");
db.execSQL(sqlClientes.toString());
Cursor cursor = db.rawQuery("SELECT * FROM query", null);
String[] from = {"_id", "nome"};
int[] to = {R.id.txvID, R.id.txvNome};
@SuppressWarnings("deprecation")
android.support.v4.widget.SimpleCursorAdapter ad = new android.support.v4.widget.SimpleCursorAdapter(getBaseContext(),R.layout.listar_model,
cursor, from, to);
ListView ltwDados = (ListView)findViewById(R.id.ltwDados);
ltwDados.setAdapter(ad);
}
}
Olá
Como disse, coloque mais um parâmtro, 0.
Ficando:
android.support.v4.widget.SimpleCursorAdapter ad = new android.support.v4.widget.SimpleCursorAdapter(getBaseContext(),R.layout.listar_model,
cursor, from, to, 0);
resolvi... Obrigado Rafael
e o que significa o parâmetro 0??
Olá
Seria alguma flag, como não usamos nenhuma, coloca-se 0.
Veja:
http://developer.android.com/reference/android/support/v4/widget/SimpleCursorAdapter.html#SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, java.lang.String[], int[], int)