表格布局与3行后的textview

时间:2014-12-11 05:14:17

标签: android android-tablelayout

我正在设计一个有24行的布局。每行有2列。每隔3或4行后就会有一个文本视图。每个行和文本视图都有一个单击侦听器。点击任何一行,我必须动态地将文本视图添加到该特定行。

为此,我创建了一个总共29行的表格布局。 24行,2列,而不是文本视图,有1列的行。对于每一行,都有单独的侦听器和用于向其添加视图的单独代码。结果,我写了相同的代码行24次。这使我的应用程序变慢了。

还有其他方法可以设计我的布局或优化我的代码吗?我可以使用列表视图而不是表格布局吗?

请帮忙。

2 个答案:

答案 0 :(得分:0)

您可以使用自定义BaseAdapter将自己的自定义布局扩展到每行的列表视图中。一个OnItemClickListener足以使用position处理所有行的事件。请参阅以下链接:

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

http://androidexample.com/How_To_Create_A_Custom_Listview_-_Android_Example/index.php?view=article_discription&aid=67&aaid=92

答案 1 :(得分:0)

我认为更好的例子是this tutorial here;因为它显示了如何为不同的行项创建不同的布局。 (您的某些行与其他行不同,与两列相比,您只有一个textView。)

所以,现在创建两个行布局,一个内部只有一个textview,另一个有一个带有两个TextView的LinearLayout。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> 

<TextView android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/name"/> 

<TextView android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/surname" 
android:layout_toRightOf="@id/name"
android:layout_marginLeft="4dp"/>

并且在getView()上可以查看它的行数并为此指定适当的布局,请查看教程。