如何在Android ListView中添加子项?

时间:2013-12-02 04:21:50

标签: android listview

我使用以下布局和ListActivity类从Vogella.com获取了android listView的帮助。

RowLayout.xml

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

    <ImageView
        android:id="@+id/icon"
        android:layout_width="22px"
        android:layout_height="22px"
        android:layout_marginLeft="4px"
        android:layout_marginRight="10px"
        android:layout_marginTop="4px"
        android:src="@drawable/icon" >
    </ImageView>

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/label"
        android:textSize="20px" >
    </TextView>

</LinearLayout> 

MyListActivity.java

package de.vogella.android.listactivity;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MyListActivity extends ListActivity {
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
        "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
        "Linux", "OS/2" };
    // use your own layout
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
        R.layout.rowlayout, R.id.label, values);
    setListAdapter(adapter);
  }

  @Override
  protected void onListItemClick(ListView l, View v, int position, long id) {
    String item = (String) getListAdapter().getItem(position);
    Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
  }
}

我想在textView下面添加一个子项,并将全文部分保留在每行的中心。我该怎么办?

4 个答案:

答案 0 :(得分:22)

您可以使用内置的android.R.layout.simple_list_item_2创建两行textView。

enter image description here

答案 1 :(得分:6)

ListView项可以拥有自己的自定义布局。为ListView创建适配器时,可以将布局ID传递给Adapter构造函数。请参阅SimpleAdapterArrayAdapter

如果您想要显示更多细节,例如图片和文字或两个textview,那么您必须扩展适配器并将 getView() 实施到属性设置图像+文本。

查看Custom ListView

如果您想要将ListView分类,那么您应该去Section ListView in Android检查Section Header in ListView

答案 2 :(得分:0)

为此,您必须创建自定义列表视图。这是Link ...

答案 3 :(得分:-1)

要在列表视图中添加子项目,请使用展开式列表视图。

查看this示例。

您可以询问是否有任何进一步的疑问:)