activity_activitybase.xml
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lv_base"
> </ListView>
simple_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="120dp"
> <ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/anniu5"
android:layout_gravity="center_vertical"
android:id="@+id/iv_1"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_vertical"
android:layout_marginLeft="20dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生命可贵"
android:textSize="20dp"
android:id="@+id/tv_1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="安全出口"
android:textSize="20dp"
android:id="@+id/tv_2"/> </LinearLayout> </LinearLayout>
biaozhi类

Biaozhi.java
package com.example.chenshuai.test321;

/**
* Created by chenshuai on 2016/4/6.
*/
//实体类 只负责装数据
public class Biaozhi { private int image;
private String name;
private String content; public int getImage() {
return image;
} public String getName() {
return name;
} public String getContent() {
return content;
} public void setImage(int image) {
this.image = image;
} public void setName(String name) {
this.name = name;
} public void setContent(String content) {
this.content = content;
} public Biaozhi(int image, String name, String content) {
this.image = image;
this.name = name;
this.content = content;
} public Biaozhi()
{ } @Override
public String toString() {
return "Biaozhi{" +
"image=" + image +
", name='" + name + '\'' +
", content='" + content + '\'' +
'}';
} }

Activitybase.java

数据源:一种为List集合,另一种为biaozhi类

package com.example.chenshuai.test321;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView; import java.util.ArrayList;
import java.util.List; public class Activitybase extends AppCompatActivity { //数据源 成员变量
//List<Map<String,Object>> im; List<Biaozhi> lf; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activitybase); ListView base_1 = (ListView)findViewById(R.id.lv_base); //准备数据源 lf = new ArrayList<Biaozhi>();
lf.add(new Biaozhi(R.drawable.anniu3,"内容1","出口1"));
lf.add(new Biaozhi(R.drawable.anniu4,"内容2","出口2"));
lf.add(new Biaozhi(R.drawable.anniu5,"内容3","出口3"));
lf.add(new Biaozhi(R.drawable.anniu6,"内容1","出口1"));
lf.add(new Biaozhi(R.drawable.anniu7,"内容2","出口2"));
lf.add(new Biaozhi(R.drawable.anniu8,"内容3","出口3"));
lf.add(new Biaozhi(R.drawable.anniu9,"内容1","出口1"));
lf.add(new Biaozhi(R.drawable.anniu10,"内容2","出口2"));
lf.add(new Biaozhi(R.drawable.anniu11,"内容3","出口3"));
lf.add(new Biaozhi(R.drawable.anniu9,"内容1","出口1"));
lf.add(new Biaozhi(R.drawable.anniu10,"内容2","出口2"));
lf.add(new Biaozhi(R.drawable.anniu11,"内容3","出口3"));
/* im = new ArrayList<Map<String,Object>>(); Map<String,Object> map = new HashMap<String,Object>(); map.put("image",R.drawable.anniu3);
map.put("name","安全出口1");
map.put("content","保护生命1...");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu4);
map.put("name","安全出口2...");
map.put("content", "保护生命2");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu5);
map.put("name","安全出口3....");
map.put("content", "保护生命3");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu6);
map.put("name","安全出口4");
map.put("content", "保护生命4");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu7);
map.put("name","安全出口5");
map.put("content", "保护生命5");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu8);
map.put("name","安全出口6");
map.put("content", "保护生命6");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu9);
map.put("name","安全出口7");
map.put("content", "保护生命7");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu10);
map.put("name","安全出口8");
map.put("content", "保护生命8");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu9);
map.put("name","安全出口7");
map.put("content", "保护生命7");
im.add(map); map = new HashMap<String,Object>();
map.put("image",R.drawable.anniu10);
map.put("name","安全出口8");
map.put("content", "保护生命8");
im.add(map);*/ base_1.setAdapter(new mybaseadapter());
} //抽象类 要继承并实现抽象方法后才能使用
class mybaseadapter extends BaseAdapter{ //获取要显示的行数
@Override
public int getCount() {
//return im.size();
Log.e("Tag", "size= " +lf.size() );
return lf.size();
} //获取对应下标的数据
@Override
public Object getItem(int position) {
//return im.get(position);
return lf.get(position);
} //获取对应数据的id
@Override
public long getItemId(int position) {
return position;
} //通过getView来实现Listview
//给视图适配数据返回view视图
//position 数据的下标(第几个视图)
//convertView 可重复使用的视图
//parent 父视图
@Override
public View getView(int position, View convertView, ViewGroup parent) { //如果convertView为null,就加载layout文件
if (convertView == null) {
Log.e("Tag", "position= " + position); //1.获取layout文件 用加载器 LayoutInflater layoutInflater = getLayoutInflater(); convertView = layoutInflater.inflate(R.layout.simple_layout, null);
} //2.把数据放入layout文件中 数据和layout文件的视图组件进行绑定 //(1)从数据源里获取一行数据
//Map<String,Object>map = im.get(position); Biaozhi biaozhi = lf.get(position); //(2)获取layout文件的视图组件
ImageView iv_1 = (ImageView)convertView.findViewById(R.id.iv_1);
TextView tv_1 = (TextView)convertView.findViewById(R.id.tv_1);
TextView tv_2 = (TextView)convertView.findViewById(R.id.tv_2); //(3)绑定 数据适配
/*iv_1.setImageResource((int)map.get("image"));
tv_1.setText(map.get("name").toString());
tv_2.setText(map.get("content").toString());
*/
iv_1.setImageResource(biaozhi.getImage());
tv_1.setText(biaozhi.getName());
tv_2.setText(biaozhi.getContent());
//3.返回视图
return convertView;
}
}
}

Android——列表视图 ListView(三)BaseAdapter的更多相关文章

  1. andorid 列表视图 ListView 之BaseAdapter

    .xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android=&qu ...

  2. Android——列表视图(ListView)

    列表视图是android中最常用的一种视图组件,它以垂直列表的形式列出需要显示的列表项.在android中有两种方法向屏幕中添加列表视图:一种是直接使用ListView组件创建:另外一种是让Activ ...

  3. Android列表视图ListView和ListActivity-android学习之旅(二十四)

    ListView简介 ListView是android中常用的一种控件,创建ListView有两种方式: 1.在xml中使用ListView控件创建. 2.使用activity继承ListActivi ...

  4. Android——列表视图 ListView(一)Arrayadapter

    一.ArrayAdapter 只显示文字 activitylistview_layout.xml <?xml version="1.0" encoding="utf ...

  5. Android——列表视图 ListView(二)SimpleAdapter

    SimpleAdapter:可显示文字加图片 activity_activitysimple.xml <?xml version="1.0" encoding="u ...

  6. Android列表视图(List View)

    Android列表视图(ListView) ListView是一个显示滚动项列表的示视图组(viewgroup),通过使用适配器(Adapter)把这些列表项自动插入到列表中.适配器比如从一个数组或是 ...

  7. React-Native基础_5.列表视图ListView

    列表视图ListView 用来显示垂直滚动列表,需要指定两个东西,1 数据的来源 dataSource,2 渲染列表的条目布局 rendRow 'use strict' import React, { ...

  8. Android 自学之列表视图ListView和ListActivity

    ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项. 创建ListView有两种方式: 直接使用ListView创建. 让Activity继承ListActivity ...

  9. 列表视图(ListView和ListActivity)

    在ListView中显示网络图片 ImageView 类虽然有一个 setImageUri 方法,但不能直接接受一个由网络地址生成的uri作为参数从而显示图片,我们只好使用其 setImageBitm ...

随机推荐

  1. Servlet线程安全性

    问题:使用以下的代码演示servlet的线程安全问题? public class MultiThreadQuestion extends HttpServlet { public int count ...

  2. 禁用root登录以及使用sudo分配权限

    前言 最近一段时间服务器有受到一些挖比特币的人的攻击,这里就简要说明一下提升服务器安全度的做法 禁用root登录 root权限可以说是linux服务器的最高权限,如果我们平常都是直接使用root用户来 ...

  3. [转]一千行MySQL学习笔记

    Shocker /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL ...

  4. JS中函数的 this 各种指向

    this是js的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. 情形1:如果一个函数中有this,但是它没有被上一级的对象所调用, ...

  5. Linux时间子系统(十四) tick broadcast framework

    一.前言 在内核中,有cpuidle framework可以控制cpu的节电:当没有进程调度到该cpu上执行的时候,swapper进程粉墨登场,将该cpu会被推入到idle状态.当然CPU的idle状 ...

  6. EF相同Context升级为分布式事务的原因

    http://www.digitallycreated.net/Blog/48/entity-framework-transactionscope-and-msdtc

  7. eclipse3.7之后,在引入的jquery的js文件打红叉

    使用Eclipse 3.7时,工程中加入jquery.xx.js文件,发现该文件出现错误提示(红×),但使用Eclipse 3.7以前的版本就不会出现这种提示.是因为Eclipse 3.7在.proj ...

  8. unity physics joint

    除了unity文档(有点儿过于简略)之外,可以参考一下PhysX文档: http://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/ ...

  9. Nginx(二):虚拟主机配置

    什么是虚拟主机? 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功 ...

  10. Web学习篇之---html基础知识(一)

    html基础知识(一) 本篇文章主要介绍HTML头部所包括的信息. 一.下面都是在标签<head>...</head>之间的内容: 1.<title>-</t ...