Высота макета ListView, не соответствующая родительскому элементу внутри RecyclerView во фрагменте - PullRequest
2 голосов
/ 01 апреля 2019

У меня есть RecyclerView с горизонтальной прокруткой внутри фрагмента. Внутри RecyclerView есть TextView и ListView.

Высота ListView не соответствует родительской высоте, как ожидалось.

Вот как это выглядит:

enter image description here

Layout Bound Screenshot

Этот список 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>

И файл класса My Adapter:

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

Я пробовал некоторые темы, но ни одна не работала Пример 1 , Пример 2 .

И это мое тестовое приложение, которое я попробовал и получил то, что ожидал Скриншот ожидаемого результата (Большое изображение, пожалуйста, не редактируйте)

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Ну, удаление layout_marginEnd будет работать

0 голосов
/ 01 апреля 2019

Может быть, вам следует установить LinearLayout высоту и ширину на match_parent.

...