安卓开发之BaseAdapter用法举例,创建图形文字混合列表项

baseAdapter的用法
    1.创建一个数组资源类GeneralBean

package com.example.hoyin0211.entry;

public class GeneralBean {
    private int resid;
    private String name;
    @Override
    public String toString() {
        return "GeneralBean [resid=" + resid + ", name=" + name + "]";
    }
    public GeneralBean(int resid, String name) {
        super();
        this.resid = resid;
        this.name = name;
    }
    public int getResid() {
        return resid;
    }
    public void setResid(int resid) {
        this.resid = resid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
    
}

2.定义字符串数组资源string-array

<string-array name="city">
        <item name="bj">北京</item>
        <item name="sh">上海</item>
        <item name="sz">深圳</item>
        <item name="gz">广州</item>
        <item name="wh">武汉</item>
        <item name="xa">西安</item>
        <item name="hb">嘻嘻哈哈</item>
    </string-array>

3.定义列表横向布局(ImageView,TextView)

<?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="wrap_content"
    android:orientation="horizontal" >
    
    <ImageView
        android:id="@+id/ivThumb"
        android:contentDescription="chenyi"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:src="@drawable/chenyi"/>
    <TextView
        android:id="@+id/tvName"
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:layout_marginLeft="10dp"
        android:text="陈毅"
        android:textSize="20sp"
        android:gravity="center_vertical" />

</LinearLayout>

4.在主布局中添加listview

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<ListView
        android:id="@+id/mlvTest"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="#ccc"
        android:dividerHeight="2dp"/>

</LinearLayout>

5.定义listview,集合,GeneralAdapter,图片资源数组变量
        ListView listview;
        List<GeneralBean> mGeneralBeans;
        GeneralAdapter mAdapter;
        int[] resid = {R.drawable.zhude,R.drawable.....};
    6.将资源中的字符串数组转换成java中的字符串数组
        private void initData(){
            String[] names=getResources().getStringArray(R.array.city);
            mGenerals = new ArrayList<GeneralBean>();
            for(int i = 0 ; i < names.length; i++){
                GeneralBean bean = new GeneralBean(Resid[i],names[i]);
                mGenerals.add(bean);
            }
        }
    7.创建BaseAdapter适配器
        class GeneralAdapter extends BaseAdapter{
            public int getCount(){
                retuen mGenerals.size();
            }

public GeneralBean getItem(int position){
                return mGenerals.get(position);
            }

public long getItemId(int position){
                return position;
            }

public View getView(int position,View convertView,ViewGroup parent){
                //拿到listviewitem布局,转换成view类型的对象
                View layout = View.inflate(MainActivity.this,R.layout.item_general,null);
                //找到imageview
                ImageView ivThube = (ImageView) layout.findViewById(R.id.ivThumb);
                TextView tvName = (TextView) layout.findViewById(R.id.tvName);
                //获取下标为position的图片
                GeneralBean bean = mGenerals.get(position);
                //显示图片
                ivThumb.setImageResource(bean.getResid());
                //显示姓名
                tvName.setText(bean.getName());
                return layout;
            }
        }

8.关联适配器
        listview = (ListView) findViewById(R.id.mlvTest);
        mAdapter = new GeneralAdapter();
        listview.setAdapter(mAdapter);

时间: 2024-10-01 02:50:15

安卓开发之BaseAdapter用法举例,创建图形文字混合列表项的相关文章

android开发之BaseAdapter

BaseAdapter可以最灵活地实现ListView,里面的控件也可以获得焦点,允许点击.示例如下: main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" an

安卓开发之APK安装之后自动在桌面上创建快捷图标

可以看到很多的APP在第一次运行之后就会弹出来一个Toast说什么快捷方式已创建,那么这个东西是怎么搞出来的呢 很简单就下面几句话,写在这儿以后好copy 先创建一个类 1 import android.app.Activity; 2 import android.content.Intent; 3 import android.os.Parcelable; 4 5 /** 6 * Created by Administrator on 2016/1/21. 7 */ 8 public clas

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

iOS多线程开发之GCD 用法入门

我们知道,在iOS中进行多线程编程,主要有三种方式:[NSThread].[NSOperation]和[GCD].其中又以[GCD]为苹果官方最为推荐.本文将利用一个简单的demo,简述GCD的用法入门,以及本人对GCD的一点肤浅理解和学习心得. 先把参考文章列出: http://www.cnblogs.com/kenshincui/p/3983982.html http://www.cnblogs.com/sunfrog/p/3305614.html http://mobile.51cto.c

安卓开发之RecyclerView

RecyclerView是一个非常好用的控件,它的效果和ListView很相似,甚至可以说RecyclerView的出现是来取代ListView的 RecyclerView比ListView更加灵活,具有更高的扩展性 下面就详细的介绍RecyclerView的用法 既然RecyclerView上来取带ListView的那说明RecyclerView和ListView的用法很相似,事实确实这样,也就是两个东西,一个控件和适配器(Adapter) 一:导包 我这里开发使用的AndroidStudio

JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,假设浏览器没有禁用cookie的话,当浏览器再次訪问项目中的Servlet程序时会将JSESSIONID带着.这时JSESSIONID就像唯一的一把钥匙  开启server端相应的session空

安卓开发之activity详解(sumzom)

app中,一个activity通常是指的一个单独的屏幕,相当于网站里面的一个网页,它是对用户可见的,它上面可以显示一些控件,并且可以监听处理用户的时间做出响应. 那么activity之间如何进行通信呢?他们是通过intent进行通信以及切换.Intent有两个重要部分(动作传递,数据传递): ?神马是Activity? activity是四大组件,代表者用户可操作界面,可与用户进行交互.比如,拍照,登陆注册等交互界面.一个应用程序通常由多个activity松耦合(低耦合)组成,当用户打开app见

安卓开发之Kotlin和java双实现仿qq空间下拉图片拉伸

先不扯淡看今天要实现的效果: 话说使用Kotlin实现安卓功能,那我们还是要做一点准备工作,so,你得加一点插件到eclipse或android studio.然并卵,你现在还在使用eclipse开发的话我只能提供地址Kotlin Plugin for Eclipse,然后我使用的还是死丢丢. 死丢丢(android studio)集成kotlin安卓开发 要使用android studio开发kotlin的安卓app,那么你必须有开发kotlin的环境: Kotlin插件.打开Android

安卓开发之Toast.

Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示.Toast 最常见的创建方式是使用静态方法 Toast.makeText 1. 默认的显示方式 1 // 第一个参数:当前的上下文环境.可用getApplicationContext()或this  2 // 第二个参数:要显示的字符串.也可是R.string中字符串ID  3 // 第三个参数:显示的时间长短.T