Android ListActivity简单用例
ListActivity 简单介绍:ListActivity本事继承Activity,但是和Activity不同的是我们在使用ListActivity是是不需要setContentView()的,因为android会自动帮助我们构造一个全屏的列表。下面我就用一个简单的实例来简单的介绍一下:
package com.yw.demo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.ListActivity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Toast; /** * ListActivity实例 * @author USER * */ public class DemoActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_demo); setListAdapter(new SimpleAdapter(this, getData(), android.R.layout.simple_list_item_1, new String[]{"data"}, new int[]{android.R.id.text1})); getListView().setTextFilterEnabled(true); } public List<Map<String,Object>> getData(){ List<Map<String,Object>> datas = new ArrayList<Map<String,Object>>(); Map<String,Object> data1 = new HashMap<String,Object>(); data1.put("data", "这就是例题的代价!"); Map<String,Object> data2 = new HashMap<String,Object>(); data2.put("data", "这就是例题的代价!"); Map<String,Object> data3 = new HashMap<String,Object>(); data3.put("data", "这就是例题的代价!"); Map<String,Object> data4 = new HashMap<String,Object>(); data4.put("data", "这就是例题的代价!"); Map<String,Object> data5 = new HashMap<String,Object>(); data5.put("data", "这就是例题的代价!"); Map<String,Object> data6 = new HashMap<String,Object>(); data6.put("data", "这就是例题的代价!"); Map<String,Object> data7 = new HashMap<String,Object>(); data7.put("data", "这就是例题的代价!"); Map<String,Object> data8 = new HashMap<String,Object>(); data8.put("data", "这就是例题的代价!"); Map<String,Object> data9 = new HashMap<String,Object>(); data9.put("data", "这就是例题的代价!"); Map<String,Object> data10 = new HashMap<String,Object>(); data10.put("data", "这就是例题的代价!"); datas.add(data1); datas.add(data2); datas.add(data3); datas.add(data4); datas.add(data5); datas.add(data6); datas.add(data7); datas.add(data8); datas.add(data9); datas.add(data10); return datas; } /** * 当列表项被选中的时候触发 */ @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Map<String,Object> data = (Map<String, Object>) l.getItemAtPosition(position); Toast.makeText(this, data.get("data").toString(), Toast.LENGTH_LONG).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_demo, menu); return true; } }
备注:实例看不明白不要紧,只要把上面的代码复制粘贴到你的项目中,把类名改一下直接运行就行了,先看看运行效果然后再结合代码理解。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库