Android控件ListView使用方法详解 Android控件ListView是Android系统中最常用的控件之一,用于显示列表数据。ListView的使用方法可以分为两大类:简单用法和自定义用法。 一、ListView的简单用法 ListView的简单用法主要包括三步:在activity_main.xml文件中添加ListView控件;在MainActivity中定义数据源和适配器,并将适配器设置到ListView中;运行程序以查看ListView的效果。 (1) 在activity_main.xml文件中添加ListView控件 在activity_main.xml文件中添加ListView控件,如下所示: ```xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 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"> </ListView> </LinearLayout> ``` (2) 在MainActivity中定义数据源和适配器 在MainActivity中定义数据源和适配器,如下所示: ```java public class MainActivity extends AppCompatActivity { private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","Pineapple","Strawberry","Cherry","Mango","Apple","Banana","Orange","Watermelon","Pear","Grape","Pineapple","Strawberry","Cherry","Mango"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,data); ListView listview=(ListView)findViewById(R.id.list_view); listview.setAdapter(adapter); } } ``` (3) 运行程序以查看ListView的效果 运行程序以查看ListView的效果。ListView会将数据源显示出来,并且可以通过滚动的方式来查看屏幕外的数据。 二、定制ListView的界面 ListView的界面可以通过自定义适配器和布局来实现。自定义适配器需要定义一个实体类Fruit,作为ListView适配器的适配类型。然后,为ListView的子项指定一个自定义布局,在layout目录下新建fruit_item.xml。 (1) 定义实体类Fruit 定义实体类Fruit,如下所示: ```java 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; } } ``` (2) 新建fruit_item.xml布局文件 为ListView的子项指定一个自定义布局,在layout目录下新建fruit_item.xml,如下所示: ```xml <?xml version="1.0" encoding="utf-8"?> <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_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/fruit_name" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> ``` (3) 自定义适配器 自定义适配器,例如FruitAdapter,如下所示: ```java public class FruitAdapter extends ArrayAdapter<Fruit> { private int resourceId; public FruitAdapter(Context context, int resourceId, List<Fruit> objects) { super(context, resourceId, objects); this.resourceId = resourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) { Fruit fruit = getItem(position); View view = LayoutInflater.from(getContext()).inflate(resourceId, parent, false); ImageView fruitImage = (ImageView) view.findViewById(R.id.fruit_image); TextView fruitName = (TextView) view.findViewById(R.id.fruit_name); fruitImage.setImageResource(fruit.getImageId()); fruitName.setText(fruit.getName()); return view; } } ``` 通过自定义适配器和布局,可以实现ListView的界面定制。
- 粉丝: 9
- 资源: 932
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助