数据库数据在Android2.2上运行良好,但在2.3以上版本上不起作用

数据库数据在Android2.2上运行良好,但在2.3以上版本上不起作用,android,database,cursor,custom-adapter,Android,Database,Cursor,Custom Adapter,我是新来的,也是android新手……所以我开始为android开发我的第一个应用程序……在自定义适配器中加载数据……当尝试从我的数据库检索数据时,我使用的rawquery仅适用于android 2.2。高于2.2时,光标不会检索任何内容。 如果我将rawquery更改为query…它仅适用于4.0,并且对于下面的版本,光标为空。我注意到问题出在光标上。 有人知道为什么会这样吗 来自主类的方法 protected void selecionardados() { // EditText to

我是新来的,也是android新手……所以我开始为android开发我的第一个应用程序……在自定义适配器中加载数据……当尝试从我的数据库检索数据时,我使用的rawquery仅适用于android 2.2。高于2.2时,光标不会检索任何内容。 如果我将rawquery更改为query…它仅适用于4.0,并且对于下面的版本,光标为空。我注意到问题出在光标上。 有人知道为什么会这样吗

来自主类的方法

protected void selecionardados() {

// EditText to string
String busca = campo_busca.getText().toString();
//Open database class
Dados_banco consulta = new Dados_banco(this.getActivity());
consulta.open();
//Create a list
List<Dados_banco.ItemLista> itens = consulta.consultaMusica(busca);
CustomAdapter adapter = new CustomAdapter(this.getActivity(),itens);
listagem.setAdapter(adapter);
数据库方法

public List<ItemLista> consultaMusica(String NovaPesquisa){
String r = NovaPesquisa;
List<ItemLista> itens = new ArrayList<Dados_banco.ItemLista>();
Cursor resul = bancodados.query(Tabela_musica, new String[] {"_id", "Musica","Cantor","letra_musica","cat_oracao","cat_missa"}, null, null, null, null, null, null);
for (resul.moveToFirst();!resul.isAfterLast();resul.moveToNext()) {
    Idlista = Integer.parseInt(resul.getString(resul.getColumnIndex("_id")));
    BdMusica = resul.getString(resul.getColumnIndex("Musica"));
    BdCantor = resul.getString(resul.getColumnIndex("Cantor"));
    BdLetra = resul.getString(resul.getColumnIndex("letra_musica"));
    BdOracao = resul.getString(resul.getColumnIndex("cat_oracao"));
    BdMissa = resul.getString(resul.getColumnIndex("cat_missa"));

    itens.add(new ItemLista(){{

        id = Idlista;
        musica = BdMusica;
        cantor = BdCantor;
        letra = BdLetra;
        oracao = BdOracao;
        missa = BdMissa;
    });

}   resul.close();
    return itens;
自定义适配器类

public class CustomAdapter extends BaseAdapter{

LayoutInflater inflater;
List<Dados_banco.ItemLista> itens;

public CustomAdapter(Activity a, List<Dados_banco.ItemLista> itens) {
    super();    
this.itens = itens;
    this.inflater = (LayoutInflater)a.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public int getCount() {
// TODO Auto-generated method stub
return itens.size();
}

public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}

public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

public View getView(int position, View convertView, ViewGroup parent) {

Dados_banco.ItemLista item = itens.get(position);
View vi = convertView;

if(convertView==null){
    vi = inflater.inflate(R.layout.linha_listview, null);
    TextView id = (TextView)vi.findViewById(R.linhaLista.id);
    TextView musica = (TextView)vi.findViewById(R.linhaLista.musica);
    TextView artista = (TextView)vi.findViewById(R.linhaLista.cantor);
    ImageView oracao = (ImageView)vi.findViewById(R.linhaLista.cat_oracao);
    ImageView missa = (ImageView)vi.findViewById(R.linhaLista.cat_missa);

    id.setText(String.valueOf(item.id));
    musica.setText(item.musica);
    artista.setText(item.cantor);
    String imgOra = item.oracao;
    String imgMissa = item.missa;

    if (imgOra.equals(null)) {
        oracao.setImageResource(R.drawable.blank);
    }else if(imgOra.equals("louvor")) {
        oracao.setImageResource(R.drawable.louvor);
        }else if(imgOra.equals("adoracao")) {
        oracao.setImageResource(R.drawable.adoracao);
    }

    if (imgMissa.equals(null)) {
            missa.setImageResource(R.drawable.blank);
    }else if(imgOra.equals("louvor")) {
        missa.setImageResource(R.drawable.louvor);
    }else if(imgOra.equals("adoracao")) {
        missa.setImageResource(R.drawable.adoracao);
    }

    }return vi;
}
}

2.3上的LogCat怎么说?没什么。我在每一行中都使用log.v来查找错误,并在光标中使用if/else来查看它是否工作……并且它不返回任何数据。转到“窗口>显示视图>其他>Android>日志猫”并复制您的日志猫在日志猫上没有显示任何内容……仍然为空。如果cursor.getCount!=0{Log.v有数据,.}否则{Log.vnothing in,.}。嗯..我发现了错误…仿真器为每个仿真器创建了一个数据库,而2.3是空的…我不知道为什么会发生这种情况,但现在没事了。谢谢艾哈迈德帮助我。