android适配器总结

2024-09-05 21:48
文章标签 android 总结 适配器

本文主要是介绍android适配器总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先讲下最简单的下拉框的adapter:每个adpater都有一个自己的item

对输入框添加下拉的提示:这里的item是R.layout.autocomplete_item,list是传入的数据,searchtext是一个edittext,这里对传入的数据不做任何处理的
 

ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,R.layout.autocomplete_item,list);
searchtext.setAdapter(adapter1);

第二个是一般的adapter:对传入的string数组,可以在里面就行操作显示

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.alidao.zenithzone.R;
/** * @author 作者 :sc* @version 创建时间:2014-11-7 上午9:29:31 * 类说明 :*/
public class RecommandLeftAdapter extends BaseAdapter{private LayoutInflater mInflater;private String[] mDataList;public RecommandLeftAdapter(Context context,String[] list) {
// TODO Auto-generated constructor stubif(null==mInflater){mInflater=LayoutInflater.from(context);}if(null!=mDataList&&mDataList.length!=0){mDataList=null;}mDataList=list;}
@Override
public View getView(int position, View view, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder viewHolder;
if(view==null){
viewHolder=new ViewHolder();
view=mInflater.inflate(R.layout.recommand_left_item, null);
viewHolder.title_left=(TextView)view.findViewById(R.id.title);
view.setTag(viewHolder);
}else {
viewHolder=(ViewHolder)view.getTag();
}
viewHolder.title_left.setText(mDataList[position]);
return view;
}
class ViewHolder{
TextView title_left;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mDataList.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return mDataList[position];
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}}最后讲一下viewpager的adpater:最基本的import java.util.ArrayList;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;/** 
* @author 作者 :sc
* @version 创建时间:2014-10-24 下午2:33:46 
* 类说明 :首页滑动适配
*/
public class ViewpagerAdapter extends PagerAdapter {
private ArrayList<View> views;public ViewpagerAdapter(ArrayList<View> views) {
this.views = views;//传入的页面数组
}//销毁页面(必须)
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(views.get(arg1));
}//得到所有的页面(非必须)
@SuppressWarnings("unused")
private ArrayList<View> getList() {
return views;
}//得到页面数组的大小(非必须)
@Override
public int getCount() {
return views.size();
}//实例化页面,将传入的页面一个个显示出来(必须)
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(views.get(arg1));
return views.get(arg1);
}//对两个页面是否相同进行判断(必须)
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}}

请大家多多指教。。。

这篇关于android适配器总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140161

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动