Android中ListView以及数组适配器(ArrayAdapter)的使用
16lz
2021-01-23
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 Studio 工程视图&项目构成
- Android 网格视图(GirdView)简易适配器的使用
- Android坐标系、视图坐标系与触控事件(MotionEvent)
- Android回顾--(九) ListView和自定义适配器
- Android界面设计之:使用水平视图切换
- 2.4.11 网格视图和图像切换器
- 2.4.12 画廊视图
- 2.4.9 列表视图