2

我正在使用ListView带有数组适配器的 a 来显示多个列表项。我想根据图片TextView在列表项中有多个

我目前正在使用似乎不适合的线性布局......相对布局会帮助我实现这一目标吗?

示例代码或教程链接会很酷

干杯 ListView xml

<?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" >

    <ListView
        android:id="@+id/listViewTest"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

ArrayAdapter xml

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


    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="89dp"
        android:layout_marginLeft="4px"
        android:layout_marginRight="10px"
        android:layout_marginTop="4px"
        android:layout_weight="0.34"
        android:src="@drawable/ic_launcher" >

    </ImageView>


    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:layout_weight="0.97"
        android:gravity="center"
        android:text="@+id/label"
        android:textSize="30dp" >

    </TextView>

</LinearLayout> 

我正在尝试在 Eclipse 中使用图形布局选项卡在现有 textView 下添加另一个 textView,但我的 noobieness 妨碍了

4

4 回答 4

0

按照链接。它会帮助你..

android 多选ListView & Textview

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

列表操作的 Main.xml

  <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <ListView
            android:id="@android:id/list"
            android:layout_width="match_parent"
            android:layout_height="785dp"
            android:choiceMode="multipleChoice" >
        </ListView>
    </LinearLayout>

和 Row.xml 作为,..

<?xml version="1.0" encoding="utf-8"?>

<TableRow>

    <TextView
        android:id="@+id/StudNo"
        android:layout_width="50px"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:padding="5px" />

</TableRow>
  <TableRow>
    <TextView
        android:id="@+id/StudNo"
        android:layout_width="50px"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:padding="5px" />

</TableRow>


  </TableLayout>

并尝试使用自定义代码..

于 2012-11-02T09:31:56.000 回答
0

链接的图片只有两个TextViews在另一个下方。如果您使用2 TextViews,那么垂直LinearLayout应该可以解决问题。但是,如果您打算在其中使用两个以上,Views那么ListItem我建议您使用Relative Layout它,因为在将它们相互对齐时,它在保持多个子视图方面更加灵活。

您可以在此处遵循 Google 提供的一个非常简单的教程: 相对布局

于 2012-11-02T09:34:07.273 回答
0

此链接在单个列表视图中使用多个文本...

http://publicstaticdroidmain.com/2011/12/building-a-custom-multi-line-listview-in-android/

使用代码如下..

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

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical|center_horizontal"
    android:text="Custom ListView Example" />

<ListView
    android:id="@+id/srListView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

</LinearLayout>

和,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingBottom="10dip"
android:paddingLeft="10dip"
android:paddingTop="10dip" >

<TextView
    android:id="@+id/name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#C20000"
    android:textSize="14sp"
    android:textStyle="bold" />

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

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

</LinearLayout>
于 2012-11-02T09:43:55.307 回答
0

为包含两个文本视图的列表项制作 xml 布局

        **listItem.xml**

    <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:orientation="horizontal"
            android:gravity="center"
            android:layout_height="fill_parent" >
            <TextView
                android:id="@+id/textview1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textColor="@android:color/black"

                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium" />
            <TextView
                android:id="@+id/textview2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textColor="@android:color/black"

                android:gravity="center"
                android:text=""
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </LinearLayout>



  ///*now in set this layout in your listview using Adapter as following*/
        mlistview.setAdapter(new ArrayAdapter<String>(this,
                R.layout.spinneritem, StringArray) {

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View v = null;
                if (v == null) {
                    if (DiscountActivity.this != null) {
                        LayoutInflater vi = (LayoutInflater) DiscountActivity.this
                                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        v = vi.inflate(R.layout.listItem, null);
                    }
                }

                TextView txtview1 = (TextView) v.findViewById(R.id.textview1);
                TextView txtview2 = (TextView) v.findViewById(R.id.textview2);

                txtview1.setText("textview1");
                txtview2.setText("textview2");

                v.setTag(campaign);
                return v;
            }


        });
于 2012-11-02T09:49:03.190 回答