ListView基本使用

来源:互联网 发布:在淘宝卖手机 编辑:程序博客网 时间:2024/06/18 17:54

package com.yztc_listview;

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

/**
* 演示ListView的基本使用(重点)
*/

public class MainActivity extends Activity {private ListView lv;private ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    lv = (ListView) findViewById(R.id.lv);    // 1.准备数据源    final String[] citys = getResources().getStringArray(R.array.citys);    // 2.将数据源的数据加载到适配器中    adapter = new ArrayAdapter<String>(MainActivity.this,            android.R.layout.simple_list_item_1, citys);    // 3.将适配器中的数据加载到控件中    lv.setAdapter(adapter);    // ListView中每项item被点击的监听事件    lv.setOnItemClickListener(new OnItemClickListener() {        // 当ListView中item被点击时回调的方法        @Override        public void onItemClick(AdapterView<?> parent, View view,                int position, long id) {// 适配器控件,每一项视图,当前项的下标,当前项的id            // 1.从数据源中获取            String s1 = citys[position];            // 2.从适配器中获取数据            String s2 = adapter.getItem(position);            // 3.在parent中获取            String s3 = parent.getItemAtPosition(position).toString();            // 4.在ListView控件中获取            String s4 = lv.getItemAtPosition(position).toString();            Toast.makeText(MainActivity.this,                    "s1=" + s1 + ",s2=" + s2 + ",s3=" + s3 + ",s4=" + s4, 0)                    .show();        }    });    // ListView长按事件    lv.setOnItemLongClickListener(new OnItemLongClickListener() {        // 当ListView中item被长按时回调的方法        @Override        public boolean onItemLongClick(AdapterView<?> parent, View view,                int position, long id) {            // 返回false表示对事件不处理(对长按和点击事件都会处理)            // 返回true表示对事件处理(点击事件和长按事件两者都存在只对长按事件处理)            return false;            }        });    }}

布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent" ><ListView    android:id="@+id/lv"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:divider="#aa0000"    android:dividerHeight="2dp" ></ListView><!-- android:entries="@array/citys" 表示指定id的数组资源设置显示到listview中 --><!--  android:divider="#aa0000" 设置间距和间距颜色  android:dividerHeight="2dp" 这两个属性一块使用设置头尾间距  android:footerDividersEnabled="false"  android:headerDividersEnabled="true"--></RelativeLayout>

数组

<?xml version="1.0" encoding="utf-8"?><resources><string name="app_name">yztc_listview</string><string name="action_settings">Settings</string><string name="hello_world">Hello world!</string><string-array name="citys">    <item>北京</item>    <item>上海</item>    <item>广州</item>    <item>深圳</item>    <item>重庆</item>    <item>成都</item>    <item>天津</item></string-array><string name="title_activity_main2">Main2Activity</string></resources>
原创粉丝点击