android 控件学习之列表

做列表有两种方法。我选择了第二种使用一个item.xml保存列表信息
1.res-->layout-->activity_main.xml
拖动一个ListView,修改id为lv
2.在layout中新建一个item.xml用于存放列表item的信息
在item.xml中拖动一个TextView,修改id为tv
3.在主程序的OnCreate方法中创建一个链表用于存放数据
ArrayList<String> data =new ArrayList<String>();
        data.add("鬼剑士");
        data.add("神枪手");
        data.add("圣职者");
4.添加数据适配器
ArrayAdapter adapter =new ArrayAdapter(this, R.layout.item, R.id.tv,data);
5.设置数据适配器
        ListView lv=(ListView) findViewById(R.id.lv);
        lv.setAdapter(adapter);
6.添加监听器
//这个地方卡了很久,最后得出个结论 列表的监听器要用OnItemClickListener
//      而类似的下拉框的监听器必须使用OnItemSelectedListener
OnItemClickListener listener =new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String item =arg0.getItemAtPosition(arg2).toString();
Toast.makeText(MainActivity.this, item,1).show();
}
};
7.不能忘记在上面得为适配器绑定监听器
lv.setOnItemClickListener(listener);
最后附上MainActivity.java
package com.example.mylistview;


import java.util.ArrayList;


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


public class MainActivity extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ArrayList<String> data =new ArrayList<String>();
        data.add("鬼剑士");
        data.add("神枪手");
        data.add("圣职者");
        ArrayAdapter adapter =new ArrayAdapter(this, R.layout.item, R.id.tv,data);
        ListView lv=(ListView) findViewById(R.id.lv);
        lv.setAdapter(adapter);
        lv.setOnItemClickListener(listener);
    }
    OnItemClickListener listener =new OnItemClickListener() {


@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String item =arg0.getItemAtPosition(arg2).toString();
Toast.makeText(MainActivity.this, item,1).show();
}

};
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值