Android(java)学习笔记74:ListViewProject案例(ListView + ArrayAdapter)

1. 首先是MainActivity.java文件,如下:

package com.himi.lv1;

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

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity {
   private ListView lv ;//声明一个列表
   private List<String> list ;//声明一个List容器
   private ArrayAdapter<String> aa ;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);//绑定静态页面,下面是设置静态页面。
        lv = new ListView(this);//实例化列表 
        list = new ArrayList<String>();//实例化List
        //往容器中添加数据
        list.add("Item1");
        list.add("Item2");
        list.add("Item3");
        //实例适配器
        //第一个参数:Context
        //第二个参数:ListView中每一行布局样式
        //android.R.layout.simple_list_item_1:系统中每行只显示一行文字布局
        //第三个参数:列表数据容器
        aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,list);
        lv.setAdapter(aa);//将适配器数据映射ListView上
   
        /* 为列表添加监听
         *arg0:父类的View,这里是就是ListView
         *arg1:点击的Item的View,操作你的点击Item的句柄
         *arg2:position:Item在是适配器中position,从0开始,按顺序排序的
         *arg3:就是你点击的Item的id
         */
        lv.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                Toast.makeText(MainActivity.this, "当前选中列表项的下标为:"+arg2, Toast.LENGTH_SHORT).show();
            }
        });
        this.setContentView(lv);//由于这里是动态添加页面,前面只是设置我们要添加的页面,这里是则是添加,静态布局文件会被动态添加的布局覆盖掉
    }
}

2. 其次是main.xml文件,如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical"
 4     android:layout_width="fill_parent"
 5     android:layout_height="fill_parent"
 6     >
 7 <TextView  
 8     android:layout_width="fill_parent" 
 9     android:layout_height="wrap_content" 
10     android:text="@string/hello"
11     />
12 </LinearLayout>
原文地址:https://www.cnblogs.com/hebao0514/p/4680223.html