1.ListView入门
先看看简单的实现效果(只有文本的):
实现的步骤为:
1.1 在新建的项目中的布局activity_**.xml中,添加ListView:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
1.2在代码中添加相关的逻辑:
private String[] data = {
"apple","pear","apple","pear","apple","pear","apple","pear",
"apple","pear","apple","pear","apple","pear","apple","pear","apple","pear"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//下面三步是构建listview的核心
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,data);
/*ArrayAdapter通过泛型指定要适配的类型为String型,在构造函数中依顺序传入当前的上下文,
ListView的子项布局id(安卓内置的布局文件,里面只有一个TextView,可用来简单地显示一段文字),以及要适配的数据*/
ListView listView = (ListView)findViewById(R.id.list_view);
listView.setAdapter(adapter);
}
至此,效果便完成了。
2.为ListView添加图片和点击事件
2.1简单添加图片和文字的效果:
实现步骤:
- 1
. 添加两个实现类,在com.example.***闭包中新建一个水果类Fruit和一个水果适配器类FruitAdapter,并且为ListView的子项指定一个自定义布局:
Fruit的源码如下:
public class Fruit {
//此类中只含有水果的名称和水果图片
private String name;
private int imageId;
public Fruit(String name,int imageId){
this.name = name;
this.imageId = imageId;
}
public String getName() {
return name;
}
public int getImageId() {
return imageId;
}
}
为ListView的子项指定一个自定义布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/fruit_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/fr