java - Java 文件中的错误 (Android)

标签 java android arrays eclipse cursor

Eclipse 在这一行给我错误 ArrayAdapter myAdapter=new ArrayAdapter(this,android.R.layout.simple_list_item_2,myArray);

这是代码:

package com.dbapp.activities;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class SecondActivity extends Activity {  

int i,j;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);

        String[][] myArray=new String[10][10];
        ListView myListView=(ListView)findViewById(R.id.lv1);



        CRUD crud=new CRUD(this);
        crud.openDb();

        Cursor cursor= crud.readDbRows();
        cursor.moveToFirst();

        i=j=0;
        while (cursor.moveToNext())
        {
        myArray[i][0]=cursor.getString(cursor.getColumnIndex("column1"));
        myArray[i][1]=cursor.getString(cursor.getColumnIndex("column2"));
        }

        ArrayAdapter<String> myAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2,myArray);
        myListView.setAdapter(myAdapter);
    }

}

这不是主要 Activity ,它只是另一个 Activity 。

最佳答案

好吧,ArrayAdapter 似乎采用 1D 数组作为参数,而不是 2D。

因此,我将代码更改为一维数组并找到了答案。

我必须将字符串数组更改为\

ArrayList<String> myArray = new ArrayList<String>();

并使用以下行添加元素:

myArray.add(cursor.getString(cursor.getColumnIndex("name")));

这是java代码

package com.example.databasedemo;

import java.util.ArrayList;

import com.example.databasedemo.CRUD;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
    setContentView(R.layout.second);


    ArrayList<String> myArray = new ArrayList<String>();
    ListView listv=(ListView)findViewById(R.id.dblist);

    CRUD crud=new CRUD(this);
    crud.openDb();
    Cursor cursor= crud.readDbRows();
    cursor.moveToFirst();


    while(cursor.moveToNext())
    {
        myArray.add(cursor.getString(cursor.getColumnIndex("name")));

    }



    ArrayAdapter<String> myAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,myArray);
    listv.setAdapter(myAdapter);

    crud.closeDb();
}
}

关于java - Java 文件中的错误 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17875847/

相关文章:

php - 从 PHP 版本 7.2.0 开始, "Array dereferencing"如何处理 boolean/integer/float/string 类型的标量值?

c - qsort 一个字符串数组,比较

java - 当我使用 proguard 混淆(Android Jack 编译器)时,我的应用程序崩溃了

java - 猜猜密码OOXML文件的应用?

java - 如何在Java中获取您所在时区的当前时间

android - 从另一个 Activity 完成 Activity

java - 流列表成一个集合

java - JTextPane 阻止在父 JScrollPane 中滚动

java - volley- 如何从 Volley 中的 OnResponse 方法返回 ArrayList

c++ - 数组与 char 类型的指针