Android控件之ListView(一)

在android开发中,我们会使用ListView进行列表数据显示,此控件相比button、textView来说相对比较复杂一些。 

在使用ListView中,需要定义ListView的格式(使用自带的或者自定义格式),同时需要声明一个适配器用来将数据和格式进行关联。 

自带格式例如: android.R.layout.simple_list_item_1,此只显示一列文本框的样式;若需要显示复杂样式(每行中有图片、按钮等),则需要自定义的格式。

适配器,常用的有SimpleAdapter、ArrayListAdapter,还可以从BaseAdapter继承自定义适配器;

以一个简单示例进行详细说明

1、新建一活动textView1_layout

package com.example.listview_test;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class listview1_activity extends Activity {
	
	String msg ="";
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO 自动生成的方法存根
		try
		{
			super.onCreate(savedInstanceState);
			setContentView(R.layout.listvie1_layout);

			ArrayAdapter adapter = new ArrayAdapter(listview1_activity.this,android.R.layout.simple_list_item_1, getData());
			ListView listview1 = (ListView)findViewById(R.id.listview1);
			listview1.setAdapter(adapter);

		}
		catch(Exception ex)
		{
			Log.d("tag", ex.getMessage());
		}
	}
	
	List<String> getData()
	{
		List<String> list  = new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
		return list;
	}
}
看到在代码中声明一个 ArrayAdapter 对象,构造函数包含3个参数

1、上下文;2、文章开头说的格式;3、数据

非常简单,我们只需要声明适配器对象,设置listview的适配器即可;

布局中的代码也贴下,非常简单,就一个listview视图

<?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"
    android:orientation="vertical" >
    
	<ListView
	    android:id="@+id/listview1"
	    android:layout_width="wrap_content"
	    android:layout_height="match_parent" />
    
</LinearLayout>


运行效果




©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页