Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带数组数据库的ListView Android_Java_Android_Arrays_Listview_Baseadapter - Fatal编程技术网

Java 带数组数据库的ListView Android

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

我在正确显示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, 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]);
}