- 浏览: 600193 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
1.自定义Adapter
主要继承的方法是getCount()和getView()
2.ListItem的布局文件
以后写item布局文件时都可以使用这个
3.selector内容
主要继承的方法是getCount()和getView()
public class MyAdapter extends BaseAdapter { private LayoutInflater mInflater; public MyAdapter(Context context) { this.mInflater = LayoutInflater.from(context); } @Override public int getCount() { return mData.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @SuppressWarnings("all") @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); // 可以理解为从vlist获取view 之后把view返回给ListView convertView = mInflater.inflate(R.layout.listitem, null); holder.title = (TextView) convertView.findViewById(R.id.title); holder.info = (TextView) convertView.findViewById(R.id.info); holder.viewBtn = (Button) convertView .findViewById(R.id.view_btn); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.title.setText((String) mData.get(position).get("title")); holder.info.setText((String) mData.get(position).get("info")); holder.viewBtn.setTag(position); // 给Button添加单击事件 添加Button之后ListView将失去焦点 需要的直接把Button的焦点去掉 holder.viewBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showInfo(position); } }); // holder.viewBtn.setOnClickListener(MyListener(position)); return convertView; } } // ListItem中的实体类 public final class ViewHolder { public TextView title; public TextView info; public Button viewBtn; } // 弹框的写法 public void showInfo(int position) { ImageView img = new ImageView(ListViewActivity.this); img.setImageResource(R.drawable.b); new AlertDialog.Builder(this) .setView(img) .setTitle("详情" + position) .setMessage("菜名:" + title[position] + " 价格:" + info[position]) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }).show(); }
2.ListItem的布局文件
以后写item布局文件时都可以使用这个
<?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="70.0dip" android:background="@drawable/item" android:drawingCacheQuality="high" android:minHeight="70.0dip" android:orientation="horizontal" > <ImageView android:id="@+id/sItemIcon" android:layout_width="80dip" android:layout_height="60dip" android:layout_marginLeft="10dip" android:layout_marginTop="5dip" android:background="@drawable/bg_img_coner" android:padding="1dip" android:scaleType="fitXY" android:src="@drawable/b" android:contentDescription="@string/app_name"/> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/sItemIcon" android:layout_centerVertical="true" android:layout_marginLeft="20dip" android:layout_toRightOf="@+id/sItemIcon" android:gravity="center_vertical" android:singleLine="true" android:textColor="@color/listTitle" android:textSize="20.0sp" android:textStyle="bold" /> <TextView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/title" android:layout_marginLeft="20dip" android:layout_marginTop="20dip" android:layout_toRightOf="@id/sItemIcon" android:ellipsize="marquee" android:singleLine="true" android:textColor="#ff4400" android:textSize="12.0sp" /> <Button android:id="@+id/view_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="15dip" android:background="@drawable/btn_detail_selecter" android:text="@string/detail" /> </RelativeLayout>
3.selector内容
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/btn_detail_normal" android:state_enabled="true" android:state_focused="false" android:state_pressed="false"/> <item android:drawable="@drawable/btn_detail_pressed" android:state_enabled="true" android:state_pressed="true"/> <item android:drawable="@drawable/btn_detail_pressed" android:state_enabled="true" android:state_focused="true"/> </selector>
- AndroidTest.zip (4.3 MB)
- 下载次数: 0
发表评论
文章已被作者锁定,不允许评论。
-
android BaseActivity与BaseFragment的封装
2016-05-19 15:06 10401 概述 多模块Activity+多Fragment 是开发 ... -
android ScrollView常用属性
2016-05-09 09:17 731android:scrollbars 设置滚动条显示。none ... -
android RecyclerView使用及详解
2016-05-04 10:35 29251.前言 话说RecyclerView已经面市很久,也在很多 ... -
android DialogFragment 创建对话框(官方推荐)
2016-04-29 14:22 9281、 概述 DialogFragment在android 3. ... -
android Intent Flags及Task相关属性
2016-04-26 09:15 644task是一个具有栈结构的容器,可以放置多个Activity实 ... -
android SQLite具体实例应用详解(SQLiteOpenHelper)
2016-04-18 19:24 841上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们 ... -
android SQLite3常用命令&语法
2016-04-18 19:01 646sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常 ... -
android View绘制相关问题总结
2016-03-28 19:27 7071.View的绘制流程分几步 ... -
android Handler Looper MessageQueue机制的原理
2016-03-22 21:09 791andriod提供了Handler和Looper来满足线程间的 ... -
android Bitmap,BitmapFactory类图像处理
2016-03-16 16:28 2394BitMap代表一张位图,扩展名可以是.bmp或者.dib。 ... -
android 三类菜单(Option) (Context) (SubMenu)学习
2016-03-14 15:23 950在Android系统中,菜单可以分为三类:选项菜单(Optio ... -
android Sqlite数据库对象模型ORMLite框架学习
2016-03-11 15:24 731在Android项目中或多或少的都会使用数据库,为了提高我们的 ... -
android AsyncTask<参数,进度值类型,返回类型>学习
2016-03-10 14:45 1206AsyncTask和Handler对比 1 ... -
android 远程图片获取和本地缓存
2016-03-10 14:32 804概述 对于客户端——服 ... -
android onSaveInstanceState和onRestoreInstanceState学习
2016-03-10 10:08 827Android中的activity通过onSaveInst ... -
android Fragment生命周期和回退栈学习以及Fragment之间通信
2016-03-10 09:31 1555会涉及到Fragment如何产生,什么是Fragment,Fr ... -
android LruCache内存缓存学习(重写sizeOf方法)
2016-03-09 19:25 1090什么是缓存? 缓存技术原理就是把用户访问的所有对象看作一个全 ... -
android ListView中的convertView缓存及使用
2016-03-09 19:12 1738一、复用convertView 首先讲下ListView的原 ... -
android 从资源角度谈Android代码内存优化
2016-03-09 18:54 742开发人员如果在进行代码编写之前就有内存泄露方面的基础知识,那么 ... -
android startActivityForResult和setResult详情及Demo
2016-03-09 08:56 1074startActivityForResult与startAct ...
相关推荐
在ListView中,BaseAdapter是一个抽象类,你需要继承它并实现其中的方法,如`getView()`,来定制每个列表项的显示。`getView()`方法会在ListView滚动时被频繁调用,用于创建或复用ListView的子视图(ViewHolder)。 ...
本项目"android适应横竖屏登录模块toolsbar重写BaseAdapter.zip"主要展示了如何实现一个登录界面,该界面能够根据设备的横竖屏自动调整布局,并且在主页面中对ToolBar进行了自定义,利用重写的BaseAdapter实现了类似...
在Android开发中,`BaseAdapter` 是一个基础的适配器类,用于将数据绑定到各种视图容器,如ListView、GridView等。本篇将详细阐述如何重写`BaseAdapter`,并提供一个具体的示例。 `BaseAdapter`是Android SDK提供的...
BaseAdapter是一个抽象类,它是Adapter接口的一个实现,主要负责数据的获取、视图的创建和更新。在自定义Adapter时,我们需要继承BaseAdapter,并重写以下四个关键方法: 1. `getCount()`: 返回数据集的大小,即...
《PullToRefresh使用详解(二)---重写BaseAdapter》博文对应源码,讲解了复杂XML下拉项,如何使用PullToRefresh实现下拉刷新的问题。对应博客地址:http://blog.csdn.net/harvic880925/article/details/17708409
本教程将通过一个名为"android应用源码Android重写listview实现下拉刷新.zip"的压缩包,深入探讨如何在Android中自定义ListView并实现下拉刷新功能。这个压缩包包含了一份用于学习和参考的源码,主要涉及以下几个...
3. BaseAdapter类 BaseAdapter是一个抽象类,它为Adapter提供了基础的实现,常用于自定义数据适配器。如果标准的Adapter类(如ArrayAdapter或CursorAdapter)不能满足特定的需求,开发者可以通过继承BaseAdapter并...
`RecyclerView.Adapter` 是`RecyclerView` 的官方适配器接口,而`BaseAdapter` 是我们常说的自定义适配器基类,它不是Android SDK内置的,而是开发者为了方便复用和减少代码量而创建的一个抽象类。这个`BaseAdapter`...
`BaseAdapter`是Android提供的一个抽象类,它实现了`ListAdapter`接口,主要用于为各种视图控件(如ListView、GridView)提供数据。通过自定义`BaseAdapter`,开发者可以自由地设计数据模型、视图布局和数据绑定逻辑...
在Android开发中,重写类(Overriding Classes)是一个核心概念,它允许开发者扩展和定制已存在的类以满足特定需求。Android系统是基于Java语言构建的,因此它遵循面向对象编程的原则,包括类的继承、封装和多态性。...
本文将深入探讨如何在Android中重写`Gallery`以实现动画切换效果。 首先,理解`Gallery`的基本原理是至关重要的。`Gallery`本质上是一个水平滚动的`LinearLayout`,它支持触摸滑动以及自动滚动功能。重写`Gallery`...
首先,BaseAdapter是Android SDK提供的一种适配器类,用于连接数据源(如ArrayList)与UI组件。它的工作原理是通过重写其四个关键方法:`getCount()`、`getItem()`、`getItemId()`和`getView()`来实现数据的显示。`...
首先,`BaseAdapter`是Android SDK提供的一个抽象类,它实现了`Adapter`接口,主要负责处理数据与UI元素之间的绑定。当你需要自定义列表或者网格视图的显示逻辑时,通常会继承`BaseAdapter`并重写其中的方法。 在...
首先,BaseAdapter是Android SDK提供的一种适配器抽象类,它实现了Adapter接口并提供了默认实现。Adapter的主要职责是作为数据源和UI组件之间的桥梁,将数据转换为视图元素。BaseAdapter允许开发者自定义数据到视图...
BaseAdapter是Android SDK提供的一种抽象适配器类,它为自定义适配器提供了一个基础模板。开发者可以根据实际需求继承BaseAdapter,重写其中的方法,以实现将自定义数据与视图的适配。BaseAdapter的主要职责是将...
在Android中,这通常需要重写Activity的`onKeyDown()`方法。在这个方法里,我们需要判断按下的是左键还是右键,然后根据按键事件改变ListView的选中项,同时更新Adapter的数据。例如,当按下左键时,选中项向前移动...
BaseAdapter是Android提供的一个抽象类,它实现了Adapter接口,为ListView提供了数据绑定功能。开发者需要继承BaseAdapter并重写其中的方法,如`getCount()`返回数据集大小,`getItem()`获取指定位置的数据,`...
`BaseAdapter`是一个抽象类,它是所有自定义适配器的基类。它实现了`Adapter`接口,提供了将数据绑定到ListView的基础框架。当你需要自定义ListView的每个项的视图时,通常会扩展`BaseAdapter`。在这个过程中,你...
2. **适配器扩展**:继承自BaseAdapter或ArrayAdapter,重写`getView()`方法。在这个方法里,我们将为每个列表项实例化SlideView,并根据数据源设置内容和删除按钮的状态。 3. **手势处理**:在SlideView中处理滑动...