我正在编写一个显示域模型列表的应用程序。默认行为是在ListView
中显示这些模型。我打算让用户在将这些数据看作列表或使用GridView
作为网格之间进行交换。这样做的惯用方法是什么?
我的域模型是一个简单的pojo,我为它创建了一个CustomArrayAdapter
和一个自定义行布局,目前看起来像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label" >
</TextView>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="25dp"
android:layout_toRightOf="@+id/label"
android:text="@+id/text" />
</RelativeLayout>
我希望对两种布局使用相同的ArrayAdapter
。
我的活动布局相当简单:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
tools:context=".MainActivity" >
<!-- what do I put here? -->
</RelativeLayout>
答案 0 :(得分:5)
为什么不总是使用gridview,并使用
将列设置为“ListView”模式 通过代码 android:numColumns
或setNumColumns(int)
?
更多信息:http://developer.android.com/reference/android/widget/GridView.html
答案 1 :(得分:0)
这个令人敬畏的图书馆是游戏改变者https://github.com/dexafree/MaterialList