Android中ListView以及数组适配器(ArrayAdapter)的使用
16lz
2021-12-04
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
MainActivity.java
package com.example.first.myapplication;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AbsListView;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.Toast;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MainActivity extends Activity { ListView listView; ArrayAdapterarradapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = this.findViewById(R.id.listview1); /* 第一种适配器 1.新建一个适配器 第一个参数是 上下文 第二个参数是 当前listview所加载的每一个列表项所对应的布局文件 第三个参数是 我们所对应的数据源 */ /* 适配器加载数据源 */ String[] data1 = {"哈哈哈","呵呵呵","嘿嘿嘿"}; arradapter = new ArrayAdapter(MainActivity.this , R.layout.item , data1); /* 视图加载适配器 */ listView.setAdapter(arradapter); /* 事件监听器 */ //点击列表项中单个条目的监听器 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override //position 当前点击的位置,也就是当前点击的条目,从0开始 public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { //当前点击的条目的内容 String text = listView.getItemAtPosition(position)+""; Toast.makeText(MainActivity.this,"position="+position+"text="+text,Toast.LENGTH_SHORT).show(); } }); //滚动变化时的监听器 listView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView absListView, int i) { /* i:滚动状态; */ switch (i){ case SCROLL_STATE_FLING: Toast.makeText(MainActivity.this,"用户手指在离开屏幕之前,由于用力滑了一下,视图仍依靠惯性继续滚动",Toast.LENGTH_SHORT).show(); Mapmap = new HashMap(); map.put("img1",R.mipmap.ic_launcher); map.put("txtv1","增加项"); datalist.add(map); simpleAdapter.notifyDataSetChanged(); break; case SCROLL_STATE_IDLE: Toast.makeText(MainActivity.this,"视图已经停止滑动",Toast.LENGTH_SHORT).show(); break; case SCROLL_STATE_TOUCH_SCROLL: Toast.makeText(MainActivity.this,"用户手指没有离开屏幕,正在滑动",Toast.LENGTH_SHORT).show(); break; } } @Override public void onScroll(AbsListView absListView, int i, int i1, int i2) { } }); }}
更多相关文章
- Android——GridView(网格视图)相关知识总结贴
- Android月历控件(DatePicker)和时间控件(TimePicker)的使用
- 专家专栏:Android层次化安全架构及核心组件概览
- Android(安卓)Studio 工程视图&项目构成
- Android平板电脑上的APP应用程序设计须知
- android中view的一些属性
- android的互联网开发 下
- Android(安卓)网格视图(GirdView)简易适配器的使用
- Android7.0中文文档(API)-- ZoomButtonsController