string-下面部分的代码,不理解,希望得到大神的详细指教

问题描述

下面部分的代码,不理解,希望得到大神的详细指教

package com.xunchao.listButton;

import java.util.ArrayList;
import java.util.HashMap;

import android.R.color;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;

public class lvButtonAdapter extends BaseAdapter {
private class buttonViewHolder {
ImageView appIcon;
TextView appName;
ImageButton buttonClose;
}

private ArrayList<HashMap<String, Object>> mAppList;
private LayoutInflater mInflater;
private Context mContext;
private String[] keyString;
private int[] valueViewID;
private buttonViewHolder holder;

public lvButtonAdapter(Context c, ArrayList<HashMap<String, Object>> appList, int resource,
        String[] from, int[] to) {
    mAppList = appList;
    mContext = c;
    mInflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    keyString = new String[from.length];
    valueViewID = new int[to.length];
    System.arraycopy(from, 0, keyString, 0, from.length);
    System.arraycopy(to, 0, valueViewID, 0, to.length);
}

public int getCount() {
    return mAppList.size();
}

public Object getItem(int position) {
    return mAppList.get(position);
}

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

public void removeItem(int position){
    mAppList.remove(position);
    this.notifyDataSetChanged();
}

public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView != null) {
        holder = (buttonViewHolder) convertView.getTag();
    } else {
        convertView = mInflater.inflate(R.layout.lvitem, null);
        holder = new buttonViewHolder();
        holder.appIcon = (ImageView)convertView.findViewById(valueViewID[0]);
        holder.appName = (TextView)convertView.findViewById(valueViewID[1]);
        holder.buttonClose = (ImageButton)convertView.findViewById(valueViewID[2]);
        convertView.setTag(holder);
    }

    HashMap<String, Object> appInfo = mAppList.get(position);
    if (appInfo != null) {
        String aname = (String) appInfo.get(keyString[1]);
        int mid = (Integer)appInfo.get(keyString[0]);
        int bid = (Integer)appInfo.get(keyString[2]);
        holder.appName.setText(aname);
        holder.appIcon.setImageDrawable(holder.appIcon.getResources().getDrawable(mid));
        holder.buttonClose.setImageDrawable(holder.buttonClose.getResources().getDrawable(bid));
        holder.buttonClose.setOnClickListener(new lvButtonListener(position));
    }
    return convertView;
}

//主要的部分是以下代码,如果和我一样是菜鸟的同学就仔细看看这几行代码这里是关键
class lvButtonListener implements OnClickListener {
    private int position;
    //获取所点击项的id
    lvButtonListener(int pos) {
        position = pos;
    }

    //获取当前项的id并判断是否与所点击项的id相同
    public void onClick(View v) {
        int vid=v.getId();
        if (vid == holder.buttonClose.getId())
           //如果相同就改变状态
            v.setBackgroundColor(Color.WHITE);
    }
}

}

时间: 2024-08-31 07:01:20

string-下面部分的代码,不理解,希望得到大神的详细指教的相关文章

麻将游戏-谁有麻将计算番数的java的代码?希望各位大神给予指教!!!谢谢

问题描述 谁有麻将计算番数的java的代码?希望各位大神给予指教!!!谢谢 谁有写过麻将游戏,用java写的,计算番数这块卡住了,希望各位能给予帮助,指点迷津!

c语言二叉树问题,代码不太理解,求大神解释,急

问题描述 c语言二叉树问题,代码不太理解,求大神解释,急 问题:A Binary Tree is called balanced if, for each node in the tree, the height of its left and right subtrees differ by no more than one. Write a function int height_if_balanced( Tnode *root ) which returns -1 if the tree

arraylist-集合ArrayList 希望各位大神帮帮小弟

问题描述 集合ArrayList 希望各位大神帮帮小弟 在Java中怎么修改: name=input.next(); for(DVDList d:list){ if(d.getName()==null){ System.out.println("无法查找到该DVD"); break; } else if(name.equals(d.getName()) && d.getState()==0){ System.out.println("该DVD未借阅 "

对java中递归问题的输出不理解,求大神解答!谢谢

问题描述 对java中递归问题的输出不理解,求大神解答!谢谢 对于这一段代码我能够理解,压栈然后出栈就是6,5,4 package recursion; public class testRecursion { public static void main(String[] args) { int num=3; recursion(num); } private static void recursion(int n){ n++; if(n<7){ recursion(n); System.o

java中有关sleep的问题,头都大了,希望各位大神抽时间帮忙看看

问题描述 java中有关sleep的问题,头都大了,希望各位大神抽时间帮忙看看 public class ThreadIncludeFor extends Thread{ public ThreadIncludeFor(String name){ super(name); } public synchronized void run(){ for(int i=0;i<3;i++){ System.out.println(Thread.currentThread().getName()+ "

线程-在分析图片头文件的时候有一行代码看不懂,望大神指点

问题描述 在分析图片头文件的时候有一行代码看不懂,望大神指点 最近一直在找获取网络图片的size的方式,最后得出两个结论:1 使用分线程下载下来,然后获得图片的size2 使用网络请求图片的头文件,然后从头文件中找到图片大小的信息 第一种方法需要主线程分线程切换,刷表老是出问题,先放着不管重点是想搞一下第二个方法: 在网上找到了一个博客:http://cxjwin.github.io/2013/11/05/preview_image_size/大神写的很不错,也能得出图片大小,但是其中一句代码看

string-java 程序运行出现String index out of range: -1异常请各位大神指教

问题描述 java 程序运行出现String index out of range: -1异常请各位大神指教 import java.awt.*; import javax.swing.*; import java.sql.*; import java.awt.event.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.State

菜鸟android 照着视频写代码出现NullPointerException 跪求大神解决

问题描述 菜鸟android 照着视频写代码出现NullPointerException 跪求大神解决 package com.example.mp3player; import java.io.StringReader;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List; import javax.xml.parsers.SAXParserFact

session-新人求助,希望路过大神点进来瞧一瞧帮帮我

问题描述 新人求助,希望路过大神点进来瞧一瞧帮帮我 防止暴力登录限制(连续五次失败2小时内容禁止登录),求代码,希望大神不要讲思路,思路懂,但是写不出来.... 希望用session或者cookies来实现 不要用数据库 ,老总抽风,就想做一个这个功能装装样子,内部系统,没外人使用,所以不存在什么安全不安全的 ,不会清空cookies或者关闭浏览器session这些情况,哪位大神做过呢,希望能把源码给小弟,在此拜谢了....或者发345876035@qq.com也行 解决方案 自己努力看一下CO