0

这是我想要的列表 我的问题是,当我滚动列表视图时,复选框(这是此列表的项目)会自动检查前 - 如果我先检查然后自动检查 4。

我的第一个目标:

 1. want to stretch my list to full i will wrap it into Scrollview  how
 2. i can prevent it to automatically checked

.

<ListView   
android:id="@+id/ListViewProducts"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_span="2"
android:clickable="true"
android:isScrollContainer="true"
android:saveEnabled="true"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarSize="10sp"
android:scrollbars="vertical" >
</ListView>
4

5 回答 5

2

创建您自己的 BaseAdapter。

请记住,您看到的列表视图中的所有视图都是临时的。当您滚动离开时,它们将被回收。原因是 - 您的列表中可以有 >9000 个元素。因此,您创建视图的方式必须依赖于某种(!)数据。

是关于如何创建自己的列表的教程。

使第 X 个复选框取决于列表中的第 X 个布尔值。我第一次知道有点混乱,但这是最好的方法。

class MyAdapter extends BaseAdapter{

    List<boolean> myCheckBoxes;

    boolean getItem(int arg0){

        return myCheckBoxes.get(arg0);

    }

    View getView(int arg0, View arg1, ViewGroup arg2){

        ...
        ...//See article
        myView.setChecked(getItem(arg0));

        ...
        return myView;

    }

在你的活动中

ListView myListView;
...
myListView.setAdapter(new MyAdapger(...));
于 2012-05-01T07:41:13.967 回答
1
  1. 您不能将列表视图放入滚动视图中,两个向同一方向滚动的视图将无法正常工作。只需将列表视图放在您的非滚动布局中(frame-、list-、relativelayout)。
  2. 使用根据要显示的数据设置每个列表视图行的视图的适配器。
于 2012-05-01T07:20:24.897 回答
1
  1. ListView 已经扩展了 ScrollView 并且不需要另一个来包围它。

  2. 尝试查看有关创建自定义 listView 项目的帖子。您可以在其中实现一个复选框并使其具有android:checked="false"

于 2012-05-01T07:23:23.603 回答
1

ListVew 已经扩展了 ScrollView 不需要在 ListView 上实现它

对于 AutoCheck,请点击此链接:

滚动列表时自动在列表视图中选中复选框。

于 2012-05-01T07:25:18.293 回答
1

没有必要在列表视图中实现滚动视图,因为它已经扩展到滚动视图。我认为您的列表视图无法正确处理项目的回收。因此,要解决此问题,请通过以下链接。

通过列表视图检查动态生成的复选框时出现问题

于 2012-05-01T09:30:40.943 回答