ListView不是滚动。也许是因为可见性是以编程方式确定的还是浮动动作按钮?

时间:2017-09-16 22:03:36

标签: android listview

我的ListView不再滚动。其他一切都运行得很好,但它现在没有滚动。它曾经工作过。我认为我添加的唯一内容是浮动操作按钮,现在它不会滚动。我还以编程方式确定是否显示列表视图。任何人都知道它为什么不滚动?

这是布局:

       <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:orientation="vertical"
    android:focusable="true"
    android:focusableInTouchMode="true"
    >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginStart="10dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/ic_search_black_24dp"/>
        <EditText
            android:id="@+id/etSearchZip"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:layout_marginTop="10dp"
            android:imeOptions="actionSearch"
            android:inputType="number"/>
    </LinearLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/no_leads_found"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:textSize="20sp"
            android:padding="15dp"
            android:text="@string/lead_name"
            android:textStyle="bold"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/tvDatePosted"
            android:text="@string/posted"
            android:textSize="20sp"
            android:padding="15dp"
            android:textStyle="bold"
            />
    </LinearLayout>

    <TextView
        android:id="@+id/tvNoLeadsFound"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/no_leads_found"
        android:gravity="center"
        android:visibility="gone"/>

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textSize="16sp"
        android:id="@+id/browseAgentsLV" />
</LinearLayout>

这是片段的相关java(它在onCreateView中调用):

 ListAdapter listAdapter = new RowAdapter(getActivity(), leadMapList);

                    listView.setAdapter(listAdapter);
                    listView.setOnItemClickListener(new
                                                            AdapterView.OnItemClickListener() {
                                                                @Override
                                                                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                                                                    String agentPicked =  "You selected " + String.valueOf(parent.getItemAtPosition(position));
                                                                    Toast.makeText(getActivity(), agentPicked, Toast.LENGTH_SHORT).show();
                                                                }
                                                            });
                    noLeadsFound.setVisibility(view.GONE);
                    listView.setVisibility(view.VISIBLE);

2 个答案:

答案 0 :(得分:1)

也许你的ListView中没有足够的物品?

如前所述,您可以使用RecyclerView。它是ListView的更灵活的版本。

以下是指南:

https://developer.android.com/guide/topics/ui/layout/recyclerview.html https://developer.android.com/training/material/lists-cards.html

这是一个例子: Simple Android RecyclerView example

答案 1 :(得分:0)

那不会奏效!尝试使用RecyclerView而不是listView,并使用NestedScrollView作为LinearLayout的整体父级。