- 直接使用ListView进行创建。
- 让Activity继承ListActivity。
2.用ListView进行创建:
在xml文件中声明<ListView>元素。它包含一些特殊的属性:
android:divider 列表项间的分隔条(颜色或Drawable);
android:dividerHeight 分隔条的高度;
android:footerDividersEnabled 是否在footer View之前绘制分隔条
android:headerDividersEnabled 是否在header View之前绘制分隔条
android:entries 指定用来生成ListView的数组资源
如,在下面的xml文件中,声明了2个ListView。第一个是直接使用数组资源给出列表项;第二个将在activity中使用ArrayAdapter来提供列表项:
<!-- 直接使用数组资源给出列表项 --> <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/books" android:divider="@drawable/red" android:headerDividersEnabled="false" /> <!-- 使用ArrayAdapter提供列表项的ListView --> <ListView android:id="@+id/list2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:divider="@drawable/green" />
list2需要在代码中使用ArrayAdapter。如:
ListView list2 = (ListView)findViewById(R.id.list2); //定义一个数组 String[] arr ={"孙悟空" , "猪八戒" , "牛魔王"}; //将数组包装ArrayAdapter ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>
(this , android.R.layout.simple_list_item_1 , arr); //为ListView设置Adapter list2.setAdapter(arrayAdapter);
ArrayAdapter的第二个属性是textViewResourceId,android提供了以下属性值:
simple_list_item_1:每个列表项都是一个普通的TextView。
simple_list_item_2:每个列表项都是一个普通的TextView(字体略大)。
simple_list_item_checked:每个列表项都是一个已勾选的列表项。
simple_list_item_multiple_choice:每个列表项都是一个带多选框的文本。
simple_list_item_single_choice:每个列表项都是一个带多选按钮的文本.
响应选择事件:
为ListView绑定setOnItemClickListener并实现即可。
====================================================================================================================================
3.基于ListView实现列表:当程序只需要显示一个ListView时,可以直接让Activity继承ListActivity来实现。
ListView的子类无需调用setContentView方法来显示一个界面。,而是直接传入一个内容Adapter,改子类就可呈现一个列表。如:
public class ListActivityTest extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置使用自己的界面布局 //setContentView(R.layout.main); String[] arr = { "孙悟空", "猪八戒", "唐僧" }; ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_multiple_choice, arr); // 设置该窗口显示列表 setListAdapter(adapter); } }
注意在布局文件中要包含一个ID为"@+id/android:list"的ListView。
响应选择:
public void onListItemClick( ListView parent, View v, int position, long id) { Toast.makeText (this, “You have selected “ + presidents[position], Toast. LENGTH_SHORT).show(); }
====================================================================================================================================