调用活动时出错

时间:2011-07-04 14:41:21

标签: android android-activity

在LogCat上没有任何显示,所以我没有错误的想法,英雄会整个代码:

package com.ibssistemas.pda;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;

import com.ibssistemas.pda.database.dbHelper;

public class BuscaCliente extends Activity {
ListView lista;
public void AtualizaLista(String nome) {
    dbHelper DB = new dbHelper(BuscaCliente.this);
    SQLiteDatabase dB = DB.getReadableDatabase();
    if (nome == null) {
        Cursor c = dB.query("Cliente", (new String[]{"cdCliente", "nmCliente", "cdCPFCNPJ"}), null, null, null, null, "cdCliente");
        if (c.getCount()==0) {
            Toast.makeText(BuscaCliente.this, "Nenhum cliente encontrado!", 10).show();
            return;
        }
        c.moveToFirst();
        String[] from = {"cdCliente", "nmCliente", "cdCPFCNPJ"};
        int[] to = {R.id.cdCliente,R.id.nmCliente, R.id.CPFCliente};
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(BuscaCliente.this, R.layout.layoutbuscacliente, c, from, to);
        lista.setAdapter(adapter);
        dB.close();
        return;
    }
    nome = nome.toUpperCase();
    Cursor c = dB.query("Cliente", (new String[]{"cdCliente", "nmCliente", "cdCPFCNPJ"}), "nmCliente LIKE \"%"+nome+"%\"", null, null, null, "cdCliente");
    if (c.getCount()==0) {
        Toast.makeText(BuscaCliente.this, "Nenhum cliente encontrado!", 10).show();
        return;
    }
    c.moveToFirst();
    String[] from = {"cdCliente", "nmCliente", "cdCPFCNPJ"};
    int[] to = {R.id.cdCliente,R.id.nmCliente, R.id.CPFCliente};
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(BuscaCliente.this, R.layout.layoutbuscacliente, c, from, to);
    lista.setAdapter(adapter);
    dB.close();
    return;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.buscacliente);
    lista = (ListView)findViewById(R.id.listaBuscaCliente);
    AtualizaLista(null);

}

}

3 个答案:

答案 0 :(得分:0)

我看不到你在哪里实例化nome。因此,您会在此行中收到NPE错误:

 nome = nome.toUpperCase();

你的LogCat应该显示这个,所以可能先出现其他问题。你真的需要调试代码并逐步完成它。

答案 1 :(得分:0)

同意大多数评论,但正如我看到你用nome调用== null ... 您的错误必须在此处:

dbHelper DB = new dbHelper(BuscaCliente.this);
SQLiteDatabase dB = DB.getReadableDatabase();

由于任何原因,您似乎无法连接到数据库,因为其他代码是明确的。还尝试添加try / catch块并记录异常详细信息。

答案 2 :(得分:0)

我同意其他人的意见。当我看到像这样的问题时,我经常做的就是在代码中插入Log.d()语句。然后我看看最后一个发射的是什么。尽管调试器中的步骤方法可能更容易。由于您没有logcat输出,您如何知道该活动是错误的?应用程序正在做什么?