【问题标题】:ListView inside RecyclerViewRecyclerView里面的ListView
【发布时间】:2015-09-21 00:51:35
【问题描述】:

我正在使用 recyclerViewAdapter 来填充回收站视图。 每个 recyclerItem 里面都必须有项目列表,我决定将它设为 listView。

所以在 recyclerView 的 onBindViewHolder 中,我创建了新的光标,进行了新的查询(在 contentResolver 的帮助下),然后我需要用这些数据填充我的 listView。

这是我的一些代码:

Cursor.moveToFirst();
        int size = Cursor.getCount();
        if (size > 0){
            for (int i = 0; i<size; i++){
                Cursor.moveToPosition(i);
                setCurrentItem();
            }
        }

private void setCurrentItem(){
        View View = LayoutInflater.from(mContext).inflate(R.layout.list_item_test, null);
        mLogo = (ImageView)cardView.findViewById(R.id.iv_Item_logo);
        mName = (TextView)cardView.findViewById(R.id.tv_cardItem_Name);
        mNumber = (TextView)cardView.findViewById(R.id.tv_cardItem_Number);
        mBlocked = (TextView)cardView.findViewById(R.id.tv_Item_blocked);
        mDate = (TextView)cardView.findViewById(R.id.tv_Item_Date);

        String Name = Cursor.getString(AccountsFragment.NAME);
        String Numb = Cursor.getString(AccountsFragment.NUMBER);
        Numb = USB_Converter.Numbers(Numb);
        String Date = Cursor.getString(AccountsFragment.DATE);
        Date = USB_Converter.friendlyDate(Date);
        int Status = Cursor.getInt(AccountsFragment.STATUS);
        if (Status == UserAccountsEntry.STATUS_ID_ACTIVE){
            mBlocked.setVisibility(View.VISIBLE);
        } else {
            mBlocked.setVisibility(View.GONE);
        }

        mName.setText(Name);
        mNumber.setText(Numb);
        mDate.setText(Date);

        mHolder.mListView.addFooterView(cardView);
    }

这工作没有任何错误,但它不显示 listView...

知道如何解决这个问题吗?

编辑 listView.xml:

<ListView
 android:id="@+id/lv_accountList"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:dividerHeight="1dp"
 />

【问题讨论】:

  • 您的字符串“名称”从数据库中获取值。而您使用另一个字符串 'cardName' 作为 'setText()'
  • 有问题的错误,已修复。谢谢

标签: android listview android-recyclerview


【解决方案1】:

您不显示 list_item_test.xml 的内容,但您可能需要为内部 ListView 指定 dp 中的绝对高度(或为其父级指定绝对高度,然后在 ListView 上使用match_parent)。

您不能将wrap_content 用于 ListView(它将缩小到 0 高度),并且如果父级没有独立派生或明确声明的高度,则不能使用 match_parent

【讨论】:

  • 正如我所说,您不能将 wrap_content 用于 ListView 的高度。尝试固定高度,或 match_parent
猜你喜欢
  • 2015-07-28
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 2020-11-10
  • 2021-05-13
  • 1970-01-01
  • 2020-02-07
  • 2017-05-20
相关资源
最近更新 更多