Android Listview不滚动仍然无法正常工作

时间:2015-08-02 10:51:11

标签: java android listview

美好的一天!

我在stackoverflow上尝试了很多其他帖子,但它对我不起作用, 也许是因为我是Android开发的新手。

我的问题如下:

enter image description here

XML布局:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item_detail_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
tools:context=".ItemDetailActivity"
tools:ignore="MergeRootFrame" >

<TextView
    android:layout_width="match_parent"
    android:layout_height="89dp"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Medium Text"
    android:id="@+id/txtDetails"
    android:layout_gravity="center_horizontal|top"
    android:padding="5dp" />

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="369dp"
    android:layout_gravity="center_horizontal|bottom" />

</FrameLayout>

在Android Studio中预览

enter image description here

在onCreateView中

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) { }

绑定列表视图:

 public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
 final View rootView = inflater.inflate(R.layout.fragment_item_detail,     container, false);


  List<Events> list = Events.getEvents();
  int max = list.size();
  String[] Values = new String[max];
  for (int i = 0; i < max; i++) {

      Events e = list.get(i);
      Values[i] = e.getNaam();
  }

  ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
                                    rootView.getContext(),
                                    android.R.layout.simple_list_item_1, Values);

 listView.setAdapter(arrayAdapter);

 return rootview;

 }

另一点是我无法点击奇怪的列表项目!

任何想法或提示? 我错了什么?

亲切的问候, 斯蒂芬

4 个答案:

答案 0 :(得分:2)

尝试以下内容。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/item_detail_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    tools:context=".ItemDetailActivity"
    tools:ignore="MergeRootFrame" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:id="@+id/linearLayout">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Medium Text"
            android:id="@+id/txtDetails"
            android:layout_gravity="center_horizontal|top"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:paddingTop="10dp"
            android:paddingBottom="10dp" />

        <ListView
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />
    </LinearLayout>

</FrameLayout>

答案 1 :(得分:2)

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item_detail_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_horizontal"
tools:context=".ItemDetailActivity"
tools:ignore="MergeRootFrame" >

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Medium Text"
    android:id="@+id/txtDetails"
    android:layout_gravity="center_horizontal|top"
    android:padding="5dp" />

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal|bottom" />

</FrameLayout>

答案 2 :(得分:1)

<LinearLayout>    
    <ScrollView>
         <ListView ...>

         </listView>
    </ScrollView>
</LinearLayout>

您需要在滚动视图周围添加LinearLayout,滚动视图会在内部知道它应滚动的内容。如果这不起作用,请将ListView替换为另一个LinearLayout,并将项目添加到LinearLayout。我不确定View是否能够滚动。首先尝试第一个选项,否则尝试后者。我知道后者肯定会起作用,因为我在我开发的应用程序中使用了完全相同的设计。

答案 3 :(得分:-2)

正如评论中已经提到的,你必须在ListView周围添加一个ScrollView,例如:

<ScrollView>
     <ListView ....>
     </ListView>
</ScrollView>