android开发:自定义ListView总结
1.ListView
2.默认的ListView使用方法
效果图如下:
使用自定义的布局文件,可以显示文本(如上图的1,2,3,4.。。。)。
String[] myStringArray={"1","2","3","4","1","2","3","4","1","2","3","4"}; /*新建ArrayAdapter,类型为String, * 第一个参数为context,即当前, * 第二个参数为list每个项目的布局文件,android自带的, * 第三个参数为要传递的数据,也就是上面定义的字符串数组 * * */ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myStringArray); //通过findViewById找到住布局文件中的listView ListView listView = (ListView) findViewById(R.id.list); //绑定Adapter listView.setAdapter(adapter);
主布局文件代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.filechooselistadapter.MainActivity" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/text"/>
</RelativeLayout>
2.ListView的自定义方法
1.定义主布局文件(main_layout.xml)其中ListView的属性;准备自定义的ListView的布局
2.获取ListView每一项的数据
3.通过Adapter(可自己定义)来绑定数据和ListView
下面来看具体的实现:
2.1实现效果
2.2布局文件
主布局文件
从上到下分三部分:显示当前路径的TextView、显示文件的ListView,执行操作的buttons
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.filechooselistadapter.MainActivity" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
/>
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layo