如何在android中使用simplelist适配器显示多个列表对象

时间:2014-04-07 19:03:52

标签: java android listadapter simpleadapter jsonobject

这不起作用我想在第一个SimpleAdapter上附加第二个SimpleAdapter。但是,它被覆盖了,只显示了第二个列表。

我希望在每个对象的单个列表中显示不同的列表格式,如list_item和list_item_new 需要帮助

    ListAdapter newAdapter = new SimpleAdapter(
                        NotificationTask.this, notificationsList,
                        R.layout.list_item_new, new String[] { TAG_PID,
                                TAG_NAME, TAG_DESCRIPTION},
                        new int[] { R.id.pid, R.id.name, R.id.description });

                newAdapter = new SimpleAdapter(
                          NotificationTask.this, oldNotificationsList,
                          R.layout.list_item, new String[] { TAG_NID,
                          TAG_NAME, TAG_DESCRIPTION},
                          new int[] { R.id.pid, R.id.name, R.id.description });

                //list.setAdapter(adapter);
                setListAdapter(newAdapter);

                        ((BaseAdapter) newAdapter).notifyDataSetChanged();

2 个答案:

答案 0 :(得分:0)

这是不可能的,尝试创建一个能够处理方法getView上的两个元素的自定义适配器(如果一种视图与另一种不同)。

适配器是listview及其内容之间的中间人,因此每个listview只能管理一个适配器,这就是它被第二个适配器上的数据覆盖的原因。

答案 1 :(得分:0)

我将MatrixCursorSimpleCursorAdapter结合使用,以组合显示的多个数据源。

您可以覆盖SimpleCursorAdapter.ViewBinder&#39} setViewValue(View view, Cursor cursor, int columnIndex)方法并指定逻辑。

SimpleCursorAdapter