【发布时间】:2015-10-21 10:31:00
【问题描述】:
我有一组字符串是:
"1,2,5,6,9,17,24"
每个都是“用户”表的用户 ID。
如何从表中获取多行数据,其中userID 是字符串中指定的那些?
我的建议是用子字符串分割字符串,for 循环dbhelper 中的每个 ID,但我不知道这样做。
这是我Activity的代码:
private void loadChatData() {
String GroupName = Groupname;
String participantID = dbHelper.getParticipantID(GroupName);
participants = dbHelper.getParticipantList(participantID);
madapter = new FriendListByGridAdapter(GroupinformationActivity.this, participants);
groupdetailsdelist.setAdapter(madapter);
madapter.notifyDataSetChanged();
}
participantID 的输出为“1,2,5,6,9,17,24”。
这是DBHelpers中方法的代码:
public List<Friend> getParticipantList(String participantID) {
openForWrite();
List<Friend> list = new ArrayList<Friend>();
String selectQuery ="SELECT "
+ KEY_FRIEND_NAME + ","
+ KEY_PICTURE
+ " FROM "
+ TABLE_FRIEND
+ " WHERE "
+ KEY_FRIEND_ID + " = "
+ "'"+ participantID + "'";
Cursor cursor = db.rawQuery(selectQuery, new String[]{});
if (cursor.moveToFirst()) {
do {
Friend temp = new Friend();
temp.setFriendpicture(cursor.getString(cursor.getColumnIndex(KEY_PICTURE)));
temp.setFriend_name(cursor.getString(cursor.getColumnIndex(KEY_FRIEND_NAME)));
list.add(temp);
} while (cursor.moveToNext());
}
// closing connection
cursor.close();
db.close();
Log.d("friend list","" + list.size());
return list;
}
我只想让所有friendNames 和picturepaths 显示在与字符串中的userIDs 相对应的listview 中。
这是我的“朋友”表的示例: Table_Friend
【问题讨论】:
-
@FrankN.Stein nono 先生!字符串数组为 1,2,5,6,9,17,24,每一个都是 KEY_FRIEND_ID 数据库中的示例:1 MellisaNg Female 0100000000 |||| 2 Frank N. Stein 男 0200000000
标签: java android arrays string