使用android列表片段列出适配器顶部最常选择的项目(3项)?

时间:2013-09-23 10:34:43

标签: android listview android-listfragment

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

 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();
        }

    });

我添加了一系列列出项目的点击事件。希望了解我的要求会更有帮助。

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

1 个答案:

答案 0 :(得分:0)

ManufacturerListAdapter需要为前几个行位置(例如012)返回“大多数经常选择的项目”,其他任何你想要的顺序。

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

  • 执行一次查询,将“最常被选中的项目”合并为一个Cursor
  • 执行另一个查询,将所需的其余内容按所需顺序分配到另一个Cursor
  • 使用a MergeCursor
  • 将两个Cursor对象拼接在一起
  • MergeCursorManufacturerListAdapter
  • 一起使用