zoukankan      html  css  js  c++  java
  • ListView用法

    public class MainActivity extends Activity implements OnItemClickListener,
    OnScrollListener {

    private ListView listView;
    private SimpleAdapter simple_adapter;
    private List<Map<String, Object>> list;
    private int i=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 匹配布局文件中的ListView控件
    listView = (ListView) findViewById(R.id.listView);
    //数据适配器的数据源
    String[] data = new String[] { "java", "C++", "JavaScript", "Php",
    "Python" };
    //参数1:MainActivity:当前上下文
    //参数2:当前ListView加载的每一个列表项所对应的布局文件
    //参数3:数据源
    // 数据适配器的定义,并加载数据源
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
    MainActivity.this, android.R.layout.simple_list_item_1, data);
    // 给ListView设置数据适配器
    listView.setAdapter(adapter);
    // 设置ListView的元素被选中时的事件处理监听器
    listView.setOnItemClickListener(this);
    // getData();
    // 设置SimpleAdapter监听器
    //new String[]{}:代表数据源中键值对的键名
    new int []{}:代表键值对的id
    // simple_adapter = new SimpleAdapter(MainActivity.this,
    // list, R.layout.list_item,
    // new String[] { "image", "text" }, new int[] { R.id.image,
    // R.id.text });
    // listView.setAdapter(simple_adapter);
    // listView.setOnScrollListener(this);
    }

    // 加载SimpleAdapter数据集
    private List<Map<String, Object>> getData() {
    list = new ArrayList<Map<String, Object>>();
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("text", "java");
    map.put("image", R.drawable.ic_launcher);
    Map<String, Object> map2 = new HashMap<String, Object>();
    map2.put("text", "C++");
    map2.put("image", R.drawable.ic_launcher);
    Map<String, Object> map3 = new HashMap<String, Object>();
    map3.put("text", "JavaScript");
    map3.put("image", R.drawable.ic_launcher);
    Map<String, Object> map4 = new HashMap<String, Object>();
    map4.put("text", "Php");
    map4.put("image", R.drawable.ic_launcher);
    Map<String, Object> map5 = new HashMap<String, Object>();
    map5.put("text", "Python2");
    map5.put("image", R.drawable.ic_launcher);
    list.add(map);
    list.add(map2);
    list.add(map3);
    list.add(map4);
    list.add(map5);
    return list;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
    }

    // (5)事件处理监听器方法
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
    long id) {
    // TODO Auto-generated method stub
    // 获取点击ListView item中的内容信息
    String text = listView.getItemAtPosition(position) + "";
    // 弹出Toast信息显示点击位置和内容
    Toast.makeText(MainActivity.this, "position=" + position + " content=" + text,Toast.LENGTH_SHORT).show();

    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    // TODO Auto-generated method stub
    // 手指离开屏幕前,用力滑了一下
    if (scrollState == SCROLL_STATE_FLING) {
    Toast.makeText(MainActivity.this, "用力滑一下",Toast.LENGTH_SHORT).show();
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("text", "滚动添加 "+i++);
    map.put("image", R.drawable.ic_launcher);
    list.add(map);
    listView.setAdapter(simple_adapter);
    //重新通知线程刷新UI界面
    simple_adapter.notifyDataSetChanged();
    } else
    // 停止滚动
    if (scrollState == SCROLL_STATE_IDLE) {

    } else
    // 正在滚动,手指没有离开屏幕
    if (scrollState == SCROLL_STATE_TOUCH_SCROLL) {

    }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
    int visibleItemCount, int totalItemCount) {
    // TODO Auto-generated method stub

    }

    }
  • 相关阅读:
    项目分析时找不到函数调用只有16进制数
    firebase消息推送配置
    布局错乱到原点的问题
    人脸识别部分文章地址笔记
    查看奔溃分析
    iOS App 后台任务的坑(奔溃原因分析)
    轨迹优化
    X SqlServer 事务日志传输 【将备份目录设置到辅助服务器】
    X sql server2014 发布与订阅的配置方法介绍包括【推送订阅】与【请求订阅】
    X SQL SERVER 使用订阅发布同步数据库 【推送订阅】
  • 原文地址:https://www.cnblogs.com/cct1314520/p/6426813.html
Copyright © 2011-2022 走看看