Java 带数组数据库的ListView Android
我在正确显示ListView时遇到一个问题 如果我申报Java 带数组数据库的ListView Android,java,android,arrays,listview,baseadapter,Java,Android,Arrays,Listview,Baseadapter,我在正确显示ListView时遇到一个问题 如果我申报 String[] cod = {"cod1","cod2", "cod3"}; String[] desc = {"desc1","desc2", "desc3"}; String[] preco = {"1.00","2.00", "3.00"}; 我的适配器是: lista = (ListView)findViewById(R.id.list); lista.setAdapter(new dataListAdapter(cod, d
String[] cod = {"cod1","cod2", "cod3"};
String[] desc = {"desc1","desc2", "desc3"};
String[] preco = {"1.00","2.00", "3.00"};
我的适配器是:
lista = (ListView)findViewById(R.id.list);
lista.setAdapter(new dataListAdapter(cod, desc, preco));
它工作得很好
但是如果我从数据库获取数据,ListView只显示一行
results = DbHelper.getItemsDao().queryRaw(sqlGetItems);
/*GET ALL RESULTS FROM DATABASE*/
List<String[]> array = results.getResults();
int count = array.size();
String[] cod = null, desc = null, preco = new String[count];
for(int i = 0; i < count; i++) {
String[] res = array.get(i);
cod = new String[]{res[0]} ;
desc = new String[]{res[1]};
preco = new String[]{res[3]};
}
lista = (ListView) findViewById(R.id.list);
lista.setAdapter(new dataListAdapter(cod, desc, preco));
results=DbHelper.getItemsDao().queryRaw(sqlGetItems);
/*从数据库中获取所有结果*/
列表数组=results.getResults();
int count=array.size();
字符串[]cod=null,desc=null,preco=new String[count];
for(int i=0;i
仔细查看代码:
for(int i = 0; i<count; i++){
String[] res = array.get(i);
cod = new String[]{res[0]} ;
desc = new String[]{res[1]};
preco = new String[]{res[3]} ;
}
lista=(ListView)findViewById(R.id.list);
lista.setAdapter(new dataListAdapter(cod, desc, preco));
尝试以下解决方案:
for(int i = 0; i < count; i++) {
String[] res = array.get(i);
cod.add(res[0]) ;
desc.add(res[1]);
preco.add(res[3]);
}
for(int i=0;i
ru确保数据库中的数据正确吗?否,sql将正确返回3个寄存器后完整的适配器classI。在循环中创建数组的正确方法是什么?这是我的荣幸:)
for(int i = 0; i < count; i++) {
String[] res = array.get(i);
cod.add(res[0]) ;
desc.add(res[1]);
preco.add(res[3]);
}