您的位置:首页 > 其它

ListView基本使用

2017-09-20 00:38 162 查看
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;

@Override
protected 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  listview