如何实现listview& Android上的标签式布局中的嵌套布局

时间:2012-06-15 01:53:22

标签: android android-listview android-fragments android-tabs

我是Android的新手,正在开发我的第一个应用程序,此时这仍然是一个'Hello World'工作。在我的主要活动中,我想要一组两个选项卡。第一个选项卡是一个布局,由几个子线性布局组成,基本上是顶部的按钮/文本行和下面的列表视图(为简洁起见编辑):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="8"

    <ImageButton
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="34dp"
        android:layout_weight="0.86"/>

    <ImageButton
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
  </LinearLayout>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

    <ListView
        android:id="@+id/listview1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    </ListView>
  </LinearLayout>

第二个选项卡将是填充整个选项卡的列表视图。我将上面的布局作为我的主要活动,并且正在尝试将其放入选项卡视图并在选项卡2中创建列表视图。每个按钮和列表项单击将启动其各自的活动。

我发现了许多使用TabActivity类的标签实现的示例/教程,现在似乎已弃用。从我收集的内容来看,FragmentActivity似乎是替代品。

我已经获得this示例工作,但尚未成功将listview放入选项卡,而不是我的嵌套布局。我会继续努力的!

片段方法是否可以选择当前接受的最佳做法?从我所看到的,我仍然倾向于作为UI解决方案与Action Bar。在看到这些标签式片段实现的复杂程度后,我可能会改变主意。 : - )

指向可能在选项卡中实现listviews和/或嵌套布局的好示例的指针?

提前致谢!

1 个答案:

答案 0 :(得分:0)

和你一样,我是Android的新手,所以我不确定这是否适合您,但以下例子使用ListFragment在带有Fragments的标签内实现两个列表:

http://android.codeandmagic.org/2011/07/android-tabs-with-fragments/

至于片段方法,我自己发现它与使用TabActivity的旧式相比非常复杂。看起来Android的开发团队已经开始为ICS开发片段(以覆盖平板电脑?)并且已经选择弃用TabActivity以推动每个人使用片段,但没有先花时间进行全面测试他们的用处和正确性。

当你用一些更复杂的东西取代简单的东西并弃用旧的东西而没有任何明显的优势时,留下一个仓促决定的坏印象,我不会惊讶地看到这个在未来逆转(除非我们看到ICS从平板电脑的市场中被淘汰出局。

有时,市场会决定,但从过去的经验来看,它并不经常选择更复杂的做事方式作为赢家;特别是当那些巨大的优势似乎没有出现时。