我使用以下布局和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下面添加一个子项,并将全文部分保留在每行的中心。我该怎么办?
答案 0 :(得分:22)
您可以使用内置的android.R.layout.simple_list_item_2创建两行textView。
答案 1 :(得分:6)
ListView
项可以拥有自己的自定义布局。为ListView
创建适配器时,可以将布局ID传递给Adapter构造函数。请参阅SimpleAdapter和ArrayAdapter。
如果您想要显示更多细节,例如图片和文字或两个textview,那么您必须扩展适配器并将 getView()
实施到属性设置图像+文本。
如果您想要将ListView分类,那么您应该去Section ListView in Android检查Section Header in ListView
答案 2 :(得分:0)
为此,您必须创建自定义列表视图。这是Link ...
答案 3 :(得分:-1)