Java 如何在listview中设置arrayadapter的视图
我正在努力做到以下几点: 从sqlite数据库读取数据 在列表视图中设置这些数据 所以我实现了一个查询来检索数据库中的所有用户 SQLController.javaJava 如何在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.
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);