在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);
}
}
答案 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输出,您如何知道该活动是错误的?应用程序正在做什么?