【问题标题】:Gridview or Listview to display 3 columns with many rowsGridview 或 Listview 显示多行的 3 列
【发布时间】:2014-05-16 23:27:15
【问题描述】:

您将如何制作以下用户界面(见下图)?

用户界面总是有 3 列和很多行。
按任意按钮1 会将其相应行的数据保存在内存中。
按任意按钮 2 会删除相应行中的数据。

我仍然在gridview 和listview 之间犹豫不决,并且很困惑此时如何编码(尤其是onClicklistener)。提前感谢您的帮助。

【问题讨论】:

  • 为此使用表格布局。
  • 取决于你有多少行......如果少于 10(只是一个例子)那么可能是表格布局......更多 ListView(记住在适配器中使用 convertView)...... TableLayout 将对大量数据效率低下
  • 你是动态创建行还是使用静态行?
  • 行数因用户输入而异,并在加载此页面时已知。

标签: android android-layout android-listview android-gridview


【解决方案1】:

您可以使用带有自定义列表项的列表视图,该列表项与内部的其他视图具有线性布局

自定义列表教程:

http://www.vogella.com/tutorials/AndroidListView/article.html

http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

示例自定义列表项:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/layout2"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/layout2"
    android:text="Data: " 
    android:gravity="center|left"
    android:textSize="16sp"/>

<LinearLayout
    android:id="@+id/layout2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="Button" />
</LinearLayout>

</RelativeLayout>

【讨论】:

    【解决方案2】:

    您可以使用表格布局来实现这种外观。请参阅this 示例和this

    表格布局很有用,因为您可以轻松定义视图中所需的列数和行数。之后,您可以轻松地将小部​​件放入其中。

    【讨论】:

    • 因为他应该使用listview
    • 发布原因并给出答案。然后我会删除我的答案。
    【解决方案3】:
    // Try this way,hope this will help you to solve your problem...
    
    Note : i think you have to use "ListView" with custom adapter.,"ListView" more convenient for less or more no data.
    
    **list_item.xml**
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.50"
            android:gravity="center_vertical">
            <TextView
                android:id="@+id/textview"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Data"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.50">
            <Button
                android:id="@+id/button1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Button1"/>
            <Button
                android:id="@+id/button2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Button2"/>
        </LinearLayout>
    </LinearLayout>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2010-09-06
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      • 1970-01-01
      相关资源
      最近更新 更多