adapter怎么写

1.android中,adapter怎么写

/** * 适配器示例 */public class SpeedWholeAdapter extends BaseAdapter { private HashMap positionMap = new HashMap(); private WeakReference weak; private List mDataSource; private LayoutInflater mInflater; public SpeedWholeAdapter(Context context, List infos) { weak = new WeakReference((SpeedWholeActivity)context); mInflater = LayoutInflater.from(context); if (infos == null) { mDataSource = new ArrayList(); } else { mDataSource = infos; } } @Override public int getCount() { if (mDataSource == null) { return 0; } return mDataSource.size(); } @Override public Object getItem(int position) { if(position > mDataSource.size()-1){ return null; } return mDataSource.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ApkItem info = mDataSource.get(position); if(info == null) return convertView; ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.commom_gridview_item, null); holder.icon = (ImageView)convertView.findViewById(R.id.iv_commom_gridview_icon); holder.name = (TextView)convertView.findViewById(R.id.tv_commom_gridview_name); holder.progress = (CoverView)convertView.findViewById(R.id.cv_progress); holder.progress.setDrawableId(R.drawable.progress_fg, R.drawable.progress_bg, 0, 0); convertView.setTag(holder); } else { holder = (ViewHolder)convertView.getTag(); } // 绑定数据 positionMap.put(info.getPackName(), position); BitmapUtil.loadImageBitmap(weak.get(), info.getIconDownloadPath(), holder.icon, R.drawable.ic_launcher); holder.name.setText(info.getApkName()); return convertView; } /** 根据包名获取下载信息 */ public ApkItem getInfo(String pkgName) { if(positionMap.containsKey(pkgName)) { int position = positionMap.get(pkgName); return (ApkItem) getItem(position); } else { return null; } } /** 添加数据 */ public void addData(List data) { if (data != null && data.size() > 0) { mDataSource.clear(); mDataSource.addAll(data); notifyDataSetChanged(); } }class ViewHolder { CoverView progress; ImageView icon; TextView name; }}。

2.recyclerview复杂布局 的adapter怎么写

异同比较: 相同点:都可以实现垂直方向的滚动列表效果;都需要使用适配器(Adapter)不同点:ListView只能实现垂直滚动列表,但RecyclerView还可以实现水平、多列、跨列等复杂的滚动列表;RecyclerView不但需要Adapter,还必须有LayoutManager,用法更复杂一些。

总结:ListView能做到的,RecyclerView都能做到,反之则不行。RecyclerView用法比ListView复杂。

一般用法:ListView用法ListView listView = (ListView) findViewById(R.id.list_view);listView.setAdapter(new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1,getData()));RecyclerView用法recyclerView = findView(R.id.id_recyclerview);//设置布局管理器recyclerView.setLayoutManager(layout);//设置adapterrecyclerView.setAdapter(adapter) ;//设置Item增加、移除动画recyclerView.setItemAnimator(new DefaultItemAnimator());//添加分割线recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.HORIZONTAL_LIST));。

3.android 里怎么用adapter写下拉菜单选择

所使用的工具:电脑开发工具:eclipse for Android , Android Studio用adapter 写下拉菜单需要我们自己进行自定义,具体步骤如下:1、自定义类,类成员与需要显示的字段一致;public class Manufacture {private String name ;public Manufacture(String name) {super();this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}}2、自定义adapter并继承自BaseAdapter实现相应方法,下面是贴出的代码示例:public class MnufactureAdapter extends BaseAdapter{private List mList;private Context context ;//创建有参构造,参数需要传入两个1.自定义类类型的List,上下文参数public MnufactureAdapter(List mList, Context context) {super();this.mList = mList;this.context = context;}//返回长度位所定义List的长度@Overridepublic int getCount() {return mList.size();}//返回位置为自定义list当前位置@Overridepublic Object getItem(int position) {return mList.get(position);}//返回条目的ID@Overridepublic long getItemId(int position) {return position;}//这里getView需方法需要重点说明和注意:@Overridepublic View getView(int position, View convertView, ViewGroup parent) {//创建一个LayoutInflater并传入上下文LayoutInflater linflater = LayoutInflater.from(context);//添加自定义item布局到convertView;(item内容和样式通过自定义方式实现)convertView = linflater.inflate(R.layout.spinner_item_layout, null);//初始化Item中控件TextView textView =(TextView) convertView.findViewById(R.id.manufacture_list);//设置控件显示内容textView.setText(mList.get(position).getName());return convertView;}}3、在activity中需要添加如下代码://初始化布局文件中的spinner Spinner mSpinner = (Spinner) findViewById(R.id.spinner1);//初始化自定义的List,并往里面添加数据List manufacture = new ArrayList();接着就是添加数据,在项目中我是添加的从网络上下载的数据解析之后进行添加的,具体的添加方式根据具体需要进行添加,我把自己的贴在下面供大家参考:for(int i = 0;i 评论0 0 0。

4.listview中baseadapter怎么写

ListView初步了解 在ListView的使用中,有时候还需要在里面加入按钮等控件,实现单独的操作。

也就是说,这个ListView不再只是展示数据,也不仅仅是这一行要来处理用户的操作,而是里面的控件要获得用户的焦点。读者可以试试用SimpleAdapter添加一个按钮到ListView的条目中,会发现可以添加,但是却无法获得焦点,点击操作被ListView的Item所覆盖。

这时候最方便的方法就是使用灵活的适配器BaseAdapter了。 使用BaseAdapter必须写一个类继承它,同时BaseAdapter是一个抽象类,继承它必须实现它的方法。

BaseAdapter的灵活性就在于它要重写很多方法,看一下有哪些方法。步骤一 List的使用数据源可以有多种形式,比如是一个数组,或者是一个list 其作用是使lisview中每一行显示出数据源的每一个元素的值。

比如ListView中每一个item只有一个控件 TextView 则list可以定义成一个字符串数组,或者一个ArrayList 。如果ListView中每一个item有很多个控件,则可以把多个控件的值类型定义成一个类如Item类 格式如下public class Item{ String name; String text; int number; int imageId; //省略setter和getter方法}则此时List定义成List 并且初始化为List listItems = new ArrayList<>();并赋予值如下for(int i = 0 ; i < 10 ; i ++){ Item item = new Item(); item.setName("sqf"); item.setText("Hello World"); item.setNumber(i); item.setImageId( R.drawable.ic_launcher); listItems.add(item);}或者将多个控件的值的类型包装成Map ,改成如下格式:List> listItems = new ArrayList>();Map map; for(int i=0;i<10;i++) { map = new HashMap(); map.put("imageId", R.drawable.ic_launcher); map.put("text", "hello World"); map.put("name" , "sqf"); map.put("number", i); listItems.add(map); } 此时list已经构建完毕,已经得到了需要加入ListView中的值了。

步骤二 编写需要ListView布局文件以及ListView中item的布局文件ListView布局文件的例子如下:activity所在的布局XML中只需要含有listview的控件,listview中每一行的item的具体布局则在另一个xml文件中<?xml version="1.0" encoding="utf-8"?> ListView的Item的布局文件<?xml version="1.0" encoding="utf-8"?> 步骤三 创建一个继承自BaseAdapter的类例子如下所示:private class ExampleAdapter extends BaseAdapter{ private LayoutInflater mInflater = null; private ExampleAdapter(Context context){ this.mInflater = LayoutInflater.from(context); } @Override public int getCount() { return listItems.size(); } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { return null; } }这里主要需要重写的方法有getcount 和getView 因为在绘制listview的时候需要多次调用getcount方法和getView方法。这里getCount的返回值就是第一步里面定义的listItems大小。

同时在这个类里定一个成员变量mInflater和一个构造方法。layoutInflater的作用LayoutInflater的作用类似于findviewById() .不同在于LayoutInflater是用来找res/layout下的xml布局文件,并且实例化。

具体作用如下:1 对于一个没有载入或者想要动态载入的界面,都需要使用Layoutinflater.inflater() 来载入。2 对于已经载入的界面,就可以使用Activity.findViewById()方法来获取其中的界面元素。

获得layoutInflater实例的三种方式1 layoutinflater inflater = getLayoutInflater();2 LayoutInflater localinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)3 LayoutInflater inflater = LayoutInflater.from(context)这三种的本质都是调用context.getSystemService()获得实例之后可以通过实例调用该类的方法inflate 这个方法有一下几种的过载形式,返回值均为View对象.public View inflate (int resource, ViewGroup root) public View inflate (XmlPullParser parser, ViewGroup root) public View inflate (Xm。

转载请注明出处育才学习网 » adapter怎么写

知识

拼音第二季怎么写

阅读(185)

本文主要为您介绍拼音第二季怎么写,内容包括罪恶之家第二季拼音,怎么写,了不起的孩子第二季拼音大写怎么写,奥特银河大怪兽之战第二季的拼音怎么写。一:拼音声调包含四个:一声平()二声扬(/)三声拐弯(∨)四声降(\)二、标省调规则:按a、o、e、i、u、ü

知识

招的韩文怎么写

阅读(147)

本文主要为您介绍招的韩文怎么写,内容包括的字韩文怎么写,的,韩文怎么写,的韩文怎么写。的 [de] 字是多音字,所以韩文也要3种解释 과녁-적 부수: 白 1. 정어(定语) 뒤에 쓰여 문법 관계를 나타내는 구조조사(

知识

应聘暑假工怎么写

阅读(149)

本文主要为您介绍应聘暑假工怎么写,内容包括我是暑假工去应聘的时候具体该怎么说啊,怎么才能应聘到暑假工,第一次打暑假工简历要怎么写。关于求职暑期工的简历表格推荐,请欣赏姓名: 应届毕业生网 国籍: 中国 目前所在地: 广州 民族: 汉族 户口所

知识

借条的用途怎么写

阅读(225)

本文主要为您介绍借条的用途怎么写,内容包括借条的用途,借条借款用途写什么好,个人借款借条需要约定用途吗,个人借款借条应该怎么写。通常是指借一些钱了以后按期归还和借钱数额的凭证,如果没有借条,别人就能赖账或者违约。注意在赌博情况下

知识

援助困难怎么写

阅读(142)

本文主要为您介绍援助困难怎么写,内容包括困难救助申请书怎么写,申请表中申请救助原因及困难状况怎么写,贫困救助申请书怎样写。由于家庭困难,全家只能住在四十几平米的房子里,参加工作到现在已经七年了,由于家里负担较重,一直没有余钱购房,虽然

知识

唯一的泰文怎么写

阅读(160)

本文主要为您介绍唯一的泰文怎么写,内容包括“唯一”泰语怎么翻译,“唯一”泰语怎么翻译,你就是我的唯一泰语怎么写。唯一名词是 la unité, seul 和 unique 都是唯一的意思 对爱人可以把它们一起用, 起强调作用:vous êtes s

知识

涓涓拼音怎么写

阅读(165)

本文主要为您介绍涓涓拼音怎么写,内容包括小溪的拼音怎么写,潺潺涓涓的读音,“梅子”的拼音字母怎么写。亭台,读作tíng tái,多与楼阁同时使用,泛指多种供游赏、休息的建筑物。“亭台楼阁”出自清·文康《儿女英雄传》第一回:“虽然算不得大

知识

工作调整申请书怎么写

阅读(161)

本文主要为您介绍工作调整申请书怎么写,内容包括工作调动申请书,关于工作调动的申请,工人工作岗位调动申请书怎么写。尊敬的领导: 您好! 首先感谢您近年来对我的关心和照顾,同时感谢领导在百忙中审阅我的工作调动申请书! 我系在财政局工作的XXX

知识

狡猾英文怎么写的

阅读(215)

本文主要为您介绍狡猾英文怎么写的,内容包括狡猾用英语怎么说,"狡猾的"的英语单词怎么写,狡猾的英语单词怎么写。狡猾cunning [kʌniŋ]n. 狡猾adj. 狡猾的;巧妙的;可爱的网络释义cunning:狡猾的|狡猾的,精明的|狡诈的Cun

知识

客户类型怎么写

阅读(156)

本文主要为您介绍客户类型怎么写,内容包括客户类型与应对技巧,顾客消费行为的描述,求职类型怎么填。市场经济以市场为向导,市场是企业的生存命脉,好的产品如果没有好的市场人员、好的客户服务人员等于闭门所关,自我欣赏,丝毫不能体现其商品价值

知识

战马思维导图怎么写

阅读(205)

本文主要为您介绍战马思维导图怎么写,内容包括《战马》的思维导图怎么画,战马的思维导图,战马这两个字立体字怎么画。思维导图的绘制,一般按照以下7个步骤来:stp1.从一张白纸(一636f70797a686964616f31333361323030般是

知识

死的笔画顺序怎么写的

阅读(167)

本文主要为您介绍死的笔画顺序怎么写的,内容包括死的笔顺怎么写,死字笔顺怎么写,死笔画顺序怎么写的。死的拼音:sǐ 笔画数:6笔顺、笔画:横、撇、横撇/横钩、点、撇、竖弯钩、基本释义:1.丧失生命,与“生”、“活”相对:~亡。~讯。~刑

知识

1百万怎么写

阅读(464)

本文主要为您介绍1百万怎么写,内容包括一百万小写和大写怎么写,一百万用阿拉伯数字怎么写出来,一百万小写怎样写。一百万用阿拉伯数字写是1000000,读作一百万。因为,个位,十位,百位,千位,万位,十万位,百万位,一共七位。根据读数规则一百万要有七

知识

叶的古文怎么写

阅读(209)

本文主要为您介绍叶的古文怎么写,内容包括“叶”用小篆怎么写,这遍古文的叶怎么读,[一叶张目]古文的翻译。叶的小篆写法如下:二、释义:[ yè ]1.叶子,植物的营养器官之一:树~。复~。2.某些像叶子的薄片:铜~。扇~。3.同“页”。4.较

[/e:loop]