android-如何在不使用listView的情况下重复几次lineaLayou

时间:2014-06-11 15:16:13

标签: android android-layout android-listview

我的意思是,你知道我们有自定义listView,我们可以用我们想要的每一件事做几行。 我想做同样但我不想使用listView。我想制作包含一些文字的10行。像这样的东西:

 <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:background="@drawable/layoutround"
    android:gravity="right"
    android:orientation="vertical"
    android:padding="10dp" >

    <TextView
        android:id="@+id/dama"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="20"
        android:gravity="center"
        android:text="2"
        android:textSize="@dimen/font_size_weather" />

    <TextView
        android:id="@+id/maxt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:paddingBottom="5dp"
        android:paddingTop="5dp"
        android:text="Medium Text"
        android:textSize="@dimen/font_size_weatherother" />

   </LinearLayout>

我想在我的java文件中重复这种布局,这怎么可能? 我不想使用listView的原因是因为我有一个图像作为我的背景,如果我使用listView我不能使用这个背景。

我该怎么做?

谢谢

2 个答案:

答案 0 :(得分:0)

就像@Der Golem所说,你可以让你的ListView透明。 或者,要回答您的问题,您需要有一个根XML:

<LinearLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/layoutround"
    android:orientation="vertical" >

并在FragmentActivity,您需要 - 获得对此布局的参考
- 扩大要在根XML中显示的布局 - 或者,手动创建Views,如TextView等 - 然后使用container.addView(myView)

答案 1 :(得分:0)

您可以膨胀此xml文件,相应地编辑内容,然后将其附加到父ViewGroup。另一个想法是创建一个封装元素的复合ViewGroup。 此外,您可能实际上可以在列表视图上插入背景(这会更好)。

parent.xml

<LinearLayout 
  ...
  android:id="@+id/parentLayout />

sibling.xml&lt; - 您的示例

view.java

 public View onCreateView(...) {
  ViewGroup root = findViewById(R.id.parentLayout);
  LayoutInflater inflater = getLayoutInflater();
  for ( MyData data : dataList ) {
    ViewGroup sibling = (ViewGroup) inflater
      .inflate(R.layout.sibling,null);
    EditText dama = (EditText)sibling.findViewById(R.id.dama);
    dama.setText(data.getTheText());
    root.addView(sibling);
  }