位置: 编程技术 - 正文

Android中万能的BaseAdapter的使用(安卓万能插件)

编辑:rootadmin

推荐整理分享Android中万能的BaseAdapter的使用(安卓万能插件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓手机万能助手,万能安卓系统,安卓系统万能工具箱,安卓手机怎么用万能组件,安卓手机万能助手,安卓万能插件,安卓万能插件,安卓手机怎么用万能组件,内容如对您有帮助,希望把文章链接给更多的朋友!

大家好,今天给大家讲解一下Android BaseAdapter(基础适配器)的用法,适配器的作用主要是用来给诸如(Spinner、ListView、GridView)来填充数据的。而(Spinner、ListView、GridView)都有自己的适配器(记起来麻烦)。但是BaseAdapter(一招鲜)对他们来说却是通用的,为什么这么说呢,首先我们看一下API文档:

我们看到Android BaseAdapter已经实现了ListAdapter和SpinnerAdapter的接口,而GridView的适配器是实现了ListAdapter接口,只不过是二维的。所以说BaseAdapter对他们三者来说是通用的。

下面我来说一下BaseAdapter的主要用法,就是我们定义一个类(如:MyAdapter)而这个类继承BaseAdapter.因为它是implements了ListAdapter和SpinnerAdapter的接口,所以要实现里面的方法,代码如下(未作任何改动的):

?private class MyAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return 0; } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub return null; }}

为了便于大家理解,老规矩写一个简单的Demo,大家按我的步骤来就OK了。

第一步:新建一个Android工程命名为BaseAdapterDemo

第二步:修改main.xml代码如下:

?<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Welcome to Mr Wei's Blog" /> <Spinner android:id="@&#;id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <ListView android:id="@&#;id/listview" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <GridView android:id="@&#;id/gridview" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>

第三步:修该BaseAdapterDemo.java代码如下:

?package com.tutor.baseadapter; import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ListView;import android.widget.Spinner;import android.widget.TextView; public class BaseAdapterDemo extends Activity { private Spinner mSpinner; private ListView mListView; private GridView mGridView; private MyAdapter mMyAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setupViews(); } public void setupViews() { mMyAdapter = new MyAdapter(); mSpinner = (Spinner) findViewById(R.id.spinner); mSpinner.setAdapter(mMyAdapter); mListView = (ListView) findViewById(R.id.listview); mListView.setAdapter(mMyAdapter); mGridView = (GridView) findViewById(R.id.gridview); mGridView.setAdapter(mMyAdapter); mGridView.setNumColumns(2); } // 定义自己的适配器,注意getCount和getView方法 private class MyAdapter extends BaseAdapter { @Override public int getCount() { // 这里我就返回了,也就是一共有项数据项 return ; } @Override public Object getItem(int arg0) { return arg0; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // position就是位置从0开始,convertView是Spinner,ListView中每一项要显示的view // 通常return 的view也就是convertView // parent就是父窗体了,也就是Spinner,ListView,GridView了. TextView mTextView = new TextView(getApplicationContext()); mTextView.setText("BaseAdapterDemo"); mTextView.setTextColor(Color.RED); return mTextView; } }}Android中万能的BaseAdapter的使用(安卓万能插件)

第四步:运行程序效果图如下:

效果图一:

效果图二:

等等,平时我在这里就和大家告别了,今天还没完呵呵,因为下面是我们的重点了,我们平常看的应用列表什么的,不是单单的一个TextView就可以了事的,所以我们可以在Layout里事先定义好布局。这里我新建了一个名叫baseadapter_provider.xml文件,代码如下:

?<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@&#;id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon" /> <TextView android:id="@&#;id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="BaseAdapter" /></LinearLayout>

将getView()方法修改如下:

?@Overridepublic View getView(int position, View convertView, ViewGroup parent) { // position就是位置从0开始,convertView是Spinner,ListView中每一项要显示的view // 通常return 的view也就是convertView // parent就是父窗体了,也就是Spinner,ListView,GridView了. // TextView mTextView = new TextView(getApplicationContext()); // mTextView.setText("BaseAdapterDemo"); // mTextView.setTextColor(Color.RED); // return mTextView; //LayoutInflater不会的参照我的 Android 高手进阶教程(五) convertView = LayoutInflater.from(getApplicationContext()).inflate (R.layout.baseadapter_provider,null); TextView mTextView = (TextView)convertView.findViewById(R.id.textview); mTextView.setText("BaseAdapterDemo" &#; position); mTextView.setTextColor(Color.RED); return convertView;}

再次运行看一下效果图如下:

Spinner类控件的使用(下拉列表的使用) Spinner位于android.widget包下,它每次只显示用户选中的元素,当用户再次单击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器(Adapt

First class: UI design for Android RelativeLayoutxmlns:android=

First Class: UI of Android LinearLayoutxmlns:android=

标签: 安卓万能插件

本文链接地址:https://www.jiuchutong.com/biancheng/387402.html 转载请保留说明!

上一篇:android之asset资源(android assets)

下一篇:Spinner类控件的使用(下拉列表的使用)(控件begininvoke)

  • 增值税减免税申报明细表免税代码和名称
  • 带薪年假是入职就有还是要等一年以后
  • 小规模纳税人缴纳上月应交增值税
  • 个体工商户是对公账户还是个人账户
  • 出差怎么订机票
  • 企业手续费及佣金支出
  • 出售库存的原材料表格
  • 经济合同
  • 合并财务报表内部固定资产交易的抵消
  • 支付的水电费属于什么会计科目
  • 跨地区预缴税款需缴纳哪些
  • 增值税专用发票可以开电子发票吗
  • 私立医院增值税税率是多少
  • 代开专票地税没交怎么办?
  • 货到票未到的会计账务处理
  • 不良品的会计处理方法
  • 涂料厂生产销售的涂料要交消费税吗
  • 备查账要如何设置?
  • 纯粮食白酒广告语
  • 一般进口货物的完税价格
  • 小型微利企业普惠性减税政策
  • 公司向个人租赁房屋要缴什么税
  • 普通发票的进项票怎么做分录
  • RPDFLchr.exe - RPDFLchr是什么进程 有什么用
  • 产品分仓
  • 企业的税收优惠政策有哪些
  • 企业接受股权投资概念政府基金
  • backup是什么文件夹怎么能打开
  • 回迁房?
  • 破产清算子公司
  • phpnow升级php版本
  • 销售提成属于什么费用
  • php imagefill
  • react moment
  • php安装教程
  • 再生资源增值税退税优惠政策
  • 培训费开票属于哪个征收明目
  • ps像素分辨率什么意思
  • phpcms v9安装教程
  • 餐具报损率一般为多少
  • 员工餐费补助交个人所得税吗
  • 销售费用福利费和管理费用福利费
  • 行政单位福利费管理办法
  • 原始凭证如何粘贴在记账凭证正确粘法图解
  • sql server字符连接
  • mysql数据表分区
  • 在建工程如何转固
  • 计提社保和工资一起怎么做账
  • 土地前期开发费用属于开发成本吗
  • 企业向个人借款利息如何缴纳增值税
  • 计提社保个人部分会计分录
  • 企业当年实现的净利润即为企业当年可供分配的利润
  • 租赁合同的印花税的计税依据
  • 电子银行承兑汇票到期怎么兑现
  • windows7卸载所有软件
  • 本地硬盘满了怎么办
  • windows使用cmd运行程序
  • ubuntu16.04远程连接
  • 无需u盘安装系统
  • win7开机假死
  • PQIMountSvc.exe是什么进程 PQIMountSvc进程查询
  • win7系统连接无线鼠标
  • win10系统故障恢复
  • Python实现Mysql数据库连接池实例详解
  • vue-cli 使用 报错
  • 性能优化实验
  • python读取grib
  • js插件大全
  • 智能图片制作
  • javascript Window及document对象详细整理
  • nodejs回调函数例子 getdata check
  • jquery删除dom
  • js对象类
  • javascript基础编程
  • 居民与非居民的区别国际金融
  • 上善若水 宁静致远,适合小学标语吗?
  • 小微企业印花税减半政策
  • 小微企业印花税税率
  • 税务工作的前景怎么样
  • 增值税税率有哪些规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设