随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

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;
    }
}
复制代码

备注:实例看不明白不要紧,只要把上面的代码复制粘贴到你的项目中,把类名改一下直接运行就行了,先看看运行效果然后再结合代码理解。

posted on   飘杨......  阅读(301)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示