0

我使用列表片段和列表视图来显示制造项目。为此,我创建了一个制造适配器来列出项目,它列出了一百多个项目。现在我的要求是在列表顶部显示最常选择的项目(三个项目足够多)。

 getListView().setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            ManufacturerListAdapter adapter = (ManufacturerListAdapter) getListAdapter();
            Cursor cursor = (Cursor) adapter.getItem(position);

            String manufacturerId = cursor.getString(cursor.getColumnIndex(ManufacturersColumns.MANUFACTURER_ID));
            int    isUserCreated  = cursor.getInt(cursor.getColumnIndex("usergen"));

            EditableItemActivity activity = (EditableItemActivity) getActivity();
            if (activity != null) activity.setManufacturer(manufacturerId, isUserCreated > 0);
            hideKeyboard();
        }

    });

我添加了列出项目的点击事件片段。希望对理解我的要求更有帮助。

任何帮助,将不胜感激!!!

4

1 回答 1

0

ManufacturerListAdapter0将需要为前几行位置(例如, 、1和)返回那些“最常选择的项目” ,以及2其他任何您希望的顺序。

由于ManufacturerListAdapter似乎是 的子类CursorAdapter,因此一种方法是:

  • 执行一项查询,将您的“最常选择的项目”归为一项Cursor
  • 执行另一个查询以将其余部分按所需顺序放入另一个Cursor
  • 使用aCursor将两个对象缝合在一起MergeCursor
  • MergeCursor与您一起使用ManufacturerListAdapter
于 2013-09-23T11:30:59.000 回答