0
我正在为我的案例研究开发一个简单的社交媒体。我能够从用户关注的人员中检索帖子。下面是截图:如何对ListViewAdapter的MergeCursor进行排序或重新排序
正如你所看到的,问题是,职位没有按照日期/编号的顺序排列。相反,它是根据用户关注的人进行分类的。这是因为我只使用mergecursor合并游标。以下是我的部分代码:
ListView listviewFeed = (ListView) findViewById(R.id.listviewFeed);
Cursor cursorFeed = DataAdapters.getFeed(dbHelper, strUserID);
//This code is for retrieving user's own posts
Cursor cursorFollowing = DataAdapters.getFollowing(dbHelper,strUserID);
//This code is for retrieving the followed users.
if(cursorFollowing.getCount()>0) {
for (int intCtr = 0; intCtr < cursorFollowing.getCount(); intCtr++) {
int intUseridI = cursorFollowing.getColumnIndex(Tables.FollowTable.COLUMN_USERID);
String strUseridI = cursorFollowing.getString(intUseridI);
Cursor cursorFollowingFeed = DataAdapters.getFeed(dbHelper, strUseridI);
\\This code is for retrieving the posts of the people the user follows.
if(intCtr>0)
{
mergeCursor = new MergeCursor(new Cursor[]{mergeCursor, cursorFollowingFeed});
}else {
mergeCursor = new MergeCursor(new Cursor[]{cursorFeed, cursorFollowingFeed});
}
//This code is for merging the cursors.
if (intCtr + 1 == cursorFollowing.getCount()) {
cursorFollowing.close();
} else {
cursorFollowing.moveToNext();
}
}
ListViewAdapterMeasurement adapterMeasurement = new ListViewAdapterMeasurement(this, mergeCursor);
listviewFeed.setAdapter(adapterMeasurement);
}else
{
ListViewAdapterMeasurement adapterMeasurement = new ListViewAdapterMeasurement(this, cursorFeed);
listviewFeed.setAdapter(adapterMeasurement);
}
这一切都很好。我只想按日期或ID排列帖子。
有什么办法可以对MergeCursor进行排序吗?
不要使用MergeCursor ...添加'getAllFollowingFeeds'并使用INNER JOIN那里 – Selvin
谢谢你的回答:)我已经设法解决了我的问题,你给了我一个想法来改变我的查询:) @Selvin –