Android: ListView 和重写后 MyListView 的简单使用

什么是 ListView ?它有什么用?


如这个页面,多个新闻信息:,一个个在xml写是不可能的!

所以,我们需要用ListView循环写!

一个LinearLayout 布局中,

就一个图片,一个标题,一个时间,一个评论数量!是不是很少啊?




一、普通的ListView 例子

为了方便大家理解,我就写个超级简单的例子吧:

代码的组成:一个方法,2个xml页面,图片若张(自备)




1、EsotericActivity.java 

(我这里的xml 很多重复,所以我用了循环,但是有时候还是不能偷懒)

package com.open_open.android_plantest;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class EsotericActivity extends Activity {
    private ListView listOne;
    //定义一个集合存放所有学生信息
    private SimpleAdapter adapter;
    private List<Map<String,Object>> data=null;
    private String planArray[]={"训练须知","训练须知2","训练须知3","训练须知4","训练须知5","训练须知6"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_esoteric);

        listOne = (ListView) findViewById(R.id.listOne);
//构建适配器【首先定义好自己的布局】
        getData();  //获取数据
        String[] from = {"Photo1", "Title1", "Title2", "Photo2"};
        int[] to = {R.id.photo1, R.id.title1, R.id.title2, R.id.photo2};
        adapter = new SimpleAdapter(this, data, R.layout.activity_plan, from, to);
        listOne.setAdapter(adapter);

    }
    private void getData() {
        data = new ArrayList<Map<String, Object>>();
//构建一项内容
        Map<String, Object> item = new HashMap<String, Object>();

        for(int i=0;i<planArray.length;i++){
            item = new HashMap<String, Object>();
            item.put("Photo1", R.drawable.plan1);
            item.put("Title1", planArray[i]);
            item.put("Title2", "");
            item.put("Photo2", R.drawable.go_in);
            data.add(item);
        }
    }

}


正常的情况:getDate() 的写法

  private void getData() {
        data = new ArrayList<Map<String,Object>>();
//构建一项内容
        Map<String,Object> item=new HashMap<String, Object>();

        item=new HashMap<String
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值