Android列表视图

时间:2015-09-27 14:10:22

标签: android

我正在尝试构建一个可滚动的android列表视图,其中每个行项目将分为两部分,即每个行项目将具有两个单元格/列。每列将显示一个数据元素。

我还想让用户,工具将数据元素添加到列表视图中的下一个可用单元格/列。

因此,假设第一行的两个单元格已填满,那么列表视图第二行的第一个单元格上将有一个+符号。

点击+,列表视图应该向该单元格添加一个元素,+符号将转移到下一个单元格或下一个行项目。

您能否建议如何构建此类视图。我是否需要为行项目编写自定义视图?

如何确定每个行项目的高度?

2 个答案:

答案 0 :(得分:0)

您肯定需要编写自定义视图

在自定义视图中

你有三种可能性

View1 = One Column Data View and other Plus Button // wrap in LinearLayout

View2 = One Column Data View and Other DataView

View3 = Only Plus Button at Left

基于偶数项目显示1或3

if(items.getCount%2==0)
{
//then plus button will be in first column
set third Linear Layout Visible and other gone
}
else
{
View1 Visible and other s gone
}

答案 1 :(得分:0)

让我们打破这个。 首先,您声明要构建网格视图。为简单起见,网格视图应该是activity.xml文件的根布局。在这里,您将使用android:numColumns属性设置列数。下面是一个示例代码:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/list"
    android:numColumns="2"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.android.app_name.activity"/>

接下来,您将需要一个.java文件来构建将填充此列表视图的“源”。您可以使用ArrayList&lt;&gt;执行此操作在.java文件类中,使用以下代码

找到此GridView视图组
   GridView gridview = (GridView) findViewById(R.id.list);

现在您可以使用ArrayList构建源代码。

ArrayList<YourElement> array = new ArrayList<YourElement>();

将项添加到此数组列表中使用.add方法

array.add();

现在要将数组列表连接到网格视图,您将使用.setAdapter方法并传入数组的名称,在本例中是数组。

      gridview.setAdapter(array);

这是我能带你去的地方。希望这也有助于其他人