首页 > 解决方案 > ListView 布局高度与 Fragment 中 RecyclerView 内的父级不匹配

问题描述

我在片段内有水平滚动的 RecyclerView。RecyclerView里面有TextView和ListView。

ListView 高度与预期的父高度不匹配。

这是它的外观:

在此处输入图像描述

布局绑定屏幕截图

此列表 Recycler View Layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="10dp"
    android:orientation="vertical">

    <TextView
        android:id="@+id/id_DateTime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="13/03/2019 - 6.30 PM"
        android:textAlignment="center"
        android:textStyle="bold" />

    <ListView
        android:id="@+id/id_ListView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@color/browser_actions_title_color"
        android:dividerHeight="1dp"
        android:isScrollContainer="true" />

</LinearLayout>

我的适配器类文件:

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
    cardview_Listview cardview_listview = cardview_listviews.get(position);
    holder.tv_DateTime.setText(cardview_listview.getS_DateTime());
    holder.setListView(cardview_listview.getS_EntryList());
}

@Override
public int getItemCount() {
    return cardview_listviews.size();
}    
public class ViewHolder extends RecyclerView.ViewHolder {

    TextView tv_DateTime;
    ListView listView;

    ViewHolder(@NonNull View itemView) {
        super(itemView);
        tv_DateTime = itemView.findViewById(R.id.id_DateTime);
        listView = itemView.findViewById(R.id.id_ListView);
    }

    void setListView(List<String> s_entryList) {
        ArrayAdapter<String> adapter = new ArrayAdapter<>(context,
                android.R.layout.simple_list_item_1, s_entryList);
        listView.setAdapter(adapter);
    }
}

我尝试了一些线程,但没有一个起作用

这是我尝试并得到预期结果的测试应用程序:
3

标签: androidandroid-fragmentsandroid-recyclerviewandroid-listview

解决方案


也许您应该将LinearLayout高度和宽度设置为match_parent.


推荐阅读