Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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中设置arrayadapter的视图_Java_Android_Sqlite_Android Arrayadapter - Fatal编程技术网

Java 如何在listview中设置arrayadapter的视图

Java 如何在listview中设置arrayadapter的视图,java,android,sqlite,android-arrayadapter,Java,Android,Sqlite,Android Arrayadapter,我正在努力做到以下几点: 从sqlite数据库读取数据 在列表视图中设置这些数据 所以我实现了一个查询来检索数据库中的所有用户 SQLController.java public List<User> getAllUsers() { List<User> UserList = new ArrayList<User>(); // Select All Query String selectQuery = "SELECT * FROM " + DBHelper.

我正在努力做到以下几点:

从sqlite数据库读取数据 在列表视图中设置这些数据 所以我实现了一个查询来检索数据库中的所有用户

SQLController.java

public List<User> getAllUsers() {
List<User> UserList = new ArrayList<User>();
// Select All Query
String selectQuery = "SELECT  * FROM " + DBHelper.TABLE_USER;
 Cursor cursor = database.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
    do {
        User User = new User();
        User.set_id(Integer.parseInt(cursor.getString(0)));
        User.setFname(cursor.getString(1));
        User.setLname(cursor.getString(2));
        User.setSex(cursor.getString(3));
        User.setAge(cursor.getString(4));
        // Adding User to list
        UserList.add(User);
    } while (cursor.moveToNext());
}

// return User list
return UserList;
现在我对下一步该做什么感到100%困惑。我知道我必须实现getView,但当我实现它时,出现了太多错误。
所以问题是,下一步是什么?有什么问题吗?

首先,使用游标的最佳实践是使用列名获取游标:

String columnID = "ID";
String id;

id = cursor.getString(cursor.getColumnIndex(columnID));
然后,当您必须使用findviewbyidod方法获取listView的id时

ListView list = (ListView) findViewByID(R.id.list_id);
填写用户列表后设置适配器很容易:

ArrayAdapter<User> adapter = ArrayAdapter(this, R.layout.user, Users);
list.setAdapter(adapter);

希望这有帮助。

ListView lv=ListView findViewByIDR.id.user;ArrayAdapter adapter=新的ArrayAdaptergetApplicationContext,用户;lv.SETAdapter适配器@ArrayAdapter上的ArmDroid语法错误=新建ArrayAdaptergetApplicationContext,用户;构造函数ArrayAdapterContext的列表为undefinedArrayAdapter=ArrayAdaptergetApplicationContext,R.layout.user,Users@ArmDroid MainActivity类型中的ArrayAdapterMainActivity,int,List方法不适用于参数上下文,int,ListArrayAdapter=new ArrayAdapter此,android.R.layout.simple_List_item_1,用户;尝试以下方法id=cursor.getStringcursor.getColumnIndexcolumnID;do?cursor.getColumnIndexcolumnID返回到现在为止名为ID.great的列的索引,在这里我将使用该列的索引?
ArrayAdapter<User> adapter = ArrayAdapter(this, R.layout.user, Users);
list.setAdapter(adapter);