- 浏览: 1222538 次
- 性别:
- 来自: 荆州
文章分类
- 全部博客 (396)
- Android 基础 (72)
- Java 基础 (42)
- Android(动画效果) (26)
- Android(自定义组件) (13)
- Android(手机服务) (38)
- Android(网络相关) (27)
- Android(多媒体) (12)
- Android(小技巧) (30)
- Android(用户界面) (39)
- 基础概念 (24)
- Android组件学习 (21)
- Android数据库相关 (11)
- 生活杂谈 (10)
- 调试技巧部分 (8)
- Sql Server相关 (1)
- Android(xml相关) (2)
- Android 开发 (12)
- 韩语学习 (4)
- Mac添加环境变量的三种方法 (1)
- iPhone开发 (1)
- Android Studio (1)
最新评论
-
ppfbsar:
下载网络文件到SD卡上 -
851228082:
好文!彻底理解单类型导入与按需导入的区别了。还有一点可以通过 ...
谈java的导入(import) -
麦田的设计者:
老乡啊
sqlite 数据库保存图片 -
sf_dream:
我要是读写list、map之类的集合呢
ObjectOutputStream和ObjectInputStream类的学习 -
xfyunyun:
博主,请问webview加载html字符串时怎么进行缓存处理呢 ...
WebView使用总结2(加载HTML内容形式的String)
public class MainActivity extends ListActivity { private MyCustomAdapter mAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAdapter = new MyCustomAdapter(); for (int i = 1; i < 50; i++) { mAdapter.addItem("item " + i); if (i % 4 == 0) { mAdapter.addSeparatorItem("separator " + i); } } setListAdapter(mAdapter); } private class MyCustomAdapter extends BaseAdapter { private static final int TYPE_ITEM = 0; private static final int TYPE_SEPARATOR = 1; private static final int TYPE_MAX_COUNT = TYPE_SEPARATOR + 1; private ArrayList<String> mData = new ArrayList<String>(); private LayoutInflater mInflater; private TreeSet<Integer> mSeparatorsSet = new TreeSet<Integer>(); public MyCustomAdapter() { mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); } public void addItem(final String item) { mData.add(item); notifyDataSetChanged(); } public void addSeparatorItem(final String item) { mData.add(item); // save separator position mSeparatorsSet.add(mData.size() - 1); notifyDataSetChanged(); } @Override public int getItemViewType(int position) { return mSeparatorsSet.contains(position) ? TYPE_SEPARATOR : TYPE_ITEM; } @Override public int getViewTypeCount() { return TYPE_MAX_COUNT; } @Override public int getCount() { return mData.size(); } @Override public String getItem(int position) { return mData.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; int type = getItemViewType(position); System.out.println("getView " + position + " " + convertView + " type = " + type); if (convertView == null) { holder = new ViewHolder(); switch (type) { case TYPE_ITEM: convertView = mInflater.inflate(R.layout.item1, null); holder.textView = (TextView) convertView .findViewById(R.id.text); break; case TYPE_SEPARATOR: convertView = mInflater.inflate(R.layout.item2, null); holder.textView = (TextView) convertView .findViewById(R.id.textSeparator); break; } convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.textView.setText(mData.get(position)); return convertView; } } public static class ViewHolder { public TextView textView; } }
上面部分代码设计到的布局:
item1.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/text" android:layout_height="50dp" android:gravity="center_vertical" android:text="text" android:visibility="visible" android:layout_width="fill_parent" android:textColor="#FF000000" android:background="#FFFFFFFF" /> </LinearLayout>
item2.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent"> <TextView android:id="@+id/textSeparator" android:layout_height="wrap_content" android:gravity="center" android:text="text" android:visibility="visible" android:layout_width="fill_parent" android:textColor="#FFFFFFFF" android:background="#FFFF0000" /> </LinearLayout>
最近忙着做"美丽约",所以一直没时间写blog,希望大家能帮忙用下提下建议。如果有问题可以给我留言;),在此谢过了。
发表评论
-
Android Studio一些使用快捷键
2016-12-17 10:17 68321.command+delete 删除一行代码 2.co ... -
Freeline快速集成
2016-11-11 16:30 78811. Freeline是什么? Freelin ... -
android:installLocation简析
2016-10-08 16:42 6610在Froyo(android 2.2,API Level:8) ... -
防止Service被系统轻易回收
2013-11-09 17:14 7646最近在使用android 4.1系统的时候,发现在手机休眠一段 ... -
手机浏览器打开应用或应用市场
2013-10-17 14:54 2084当在项目中出现下列情形: 应用开发商想对手机注册用 ... -
多点触控之MotionEvent.ACTION_MASK作用
2013-07-23 14:49 2098ACTION_MASK在Android中是应用于多点触摸操作, ... -
Using Ant to Automate Building Android Applications
2013-05-23 13:32 2115Using Ant to Automate Building ... -
Android Bitmap getByteCount和getRowBytes
2013-05-03 11:16 2457Bitmap关于内存占用的API 1、getRowB ... -
音频功能实现
2013-04-25 14:49 12001.音频PCM转SPX格式:http://blog.csdn. ... -
MAC下Android的Eclipse开发环境的搭建
2013-04-20 09:42 1173一.Eclipse的下载 ... -
屏幕点亮和关闭广播监听
2013-04-07 21:49 2658private void registerScreenActi ... -
mac上配置adb
2013-04-06 17:50 1363问:为什么要配置ADB ? 答:不配置的话,每次用到ADB都要 ... -
Notification用法复习(3.0以后版本)
2012-11-04 11:33 3208使用Notification的示例代码: public c ... -
Android应用icon图标
2012-07-07 15:02 1618对于Android平台来说,不同分辨率下Icon的大小设计有着 ... -
Android软键盘控制
2012-05-12 17:08 9311整个输入法框架(IMF)结构的核心API,应用程序之间进行调度 ... -
键盘自动弹出
2012-04-25 17:28 1132Timer timer = new Timer(); ... -
Eclipse 默认打开Android xml 布局
2012-04-21 17:02 2120今天新装了Android开发环境后,新建一个工程,打开xml发 ... -
苹果开发android 第一步
2012-04-14 22:50 1264今天开始,准备使用mac来进行android开发,将开发中遇到 ... -
SpannableStringBuilder的简单用法
2012-02-29 14:29 2413一段代码,贴了自己以后看: TextView mText ... -
Intent打开各种文件
2011-11-25 16:19 15961.Android打开系统播放器: Uri uri = ...
相关推荐
本教程将详细解释如何在ListView中实现加载不同布局,即“图片文字”与“纯文字”布局交替显示。 首先,我们需要了解ListView的工作原理。ListView通过Adapter类来绑定数据和视图。Adapter就像一个桥梁,连接数据源...
标题“listview加载不同布局”指的是在同一个ListView中,根据数据的不同类型或者不同状态,动态加载不同的布局文件,以实现更丰富的显示效果。这样的功能通常应用于新闻列表、电商商品列表等场景,每个条目可能需要...
然而,在实现ListView时,我们可能会遇到一个问题,即加载不同布局导致的`ClassCastException`异常。这个异常通常出现在尝试将一个对象强制转换为非兼容类型时,对于ListView,可能是由于在适配器中错误地处理了视图...
对于描述中的“三个集合的数据”,这意味着ListView可能需要根据不同的数据集来显示不同布局。例如,一个集合可能只包含文本,另一个可能包含图片和文本,而第三个可能包含更复杂的结构,如头像、标题、描述等。每个...
本文将深入探讨如何在Android中实现一个基于ArrayAdapter的网格布局ListView。 首先,我们要了解ListView的基本结构。ListView是由多个列表项(List Item)组成的,每个列表项通常对应一个View。在Android中,我们...
然而,有时我们需要在同一个ListView中显示具有不同布局的项,这通常涉及到自定义Adapter的使用。"Android ListView adapter不同布局"这个主题就是关于如何在ListView中实现这样的功能。 首先,我们了解ListView的...
自定义布局允许开发者根据需求灵活设计ListView显示的内容和样式。本实例将深入讲解如何在WPF中自定义ListView控件的布局。 首先,自定义布局主要涉及到两部分:ControlTemplate和DataTemplate。ControlTemplate...
写的demo只有第一条item布局不一样,剩下的item布局都一样;主要用于实现在listview加上headview时又有下拉...所有就把原本listview要加的headview布局加到listview的item布局中;这样在加下拉刷新控件就不会起冲突了;
总结来说,"listView item不同布局demo"是一个展示如何在ListView中实现多类型item布局的实例,通过自定义Adapter和复写关键方法,我们可以灵活地控制ListView每一项的显示样式,从而满足各种复杂的需求。...
通过以上步骤,我们就实现了在ListView中显示不同布局的功能。在实际项目中,可能会有更多的布局类型,或者更复杂的数据绑定逻辑,但基本思路是一致的。在" DifferentListViewItemDemo "中,你可以找到具体的代码...
"Android listview动态加载不同布局"这一主题,主要涉及如何在ListView中根据不同的数据类型或者状态显示不同的视图(View)布局,提升用户体验并优化性能。 首先,要实现ListView动态加载不同布局,我们需要理解...
4. `getViewTypeCount()`:返回布局的类型数量,例如,如果有两种不同布局,则返回2。 5. `getItemViewType(int position)`:根据数据项的属性返回对应的视图类型。 6. `getView(int position, View convertView, ...
然而,有些情况下我们不仅需要展示单一类型的条目,还可能需要在同一个ListView中混合显示多种布局。本教程将详细讲解如何在ListView中实现这种功能。 首先,我们需要理解ListView的工作原理。ListView通过Adapter...
在某些场景下,我们可能需要为ListView的每个Item加载不同的布局,以实现更复杂的显示效果。本篇将详细讲解如何在ListView中根据不同的对象加载不同的布局。 首先,我们要明白ListView的工作原理。ListView通过...
本篇文章将深入探讨如何在ListView的Item中实现不同布局的显示。 首先,理解ListView的基本原理是至关重要的。ListView通过Adapter来连接数据源和视图,Adapter负责创建并填充每个Item。默认情况下,ListView的所有...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据,而ExpandListView是ListView的一个扩展,它支持子项的展开和折叠,使得显示更丰富的信息。这个压缩包"安卓listview相关相关-ExpandListView...
在这个例子中,`ItemData`是一个自定义的Java类,它包含表示不同布局类型的数据字段,以及一个`getType()`方法返回当前数据项的布局类型。 最后,我们在Activity或Fragment中设置这个自定义Adapter到ListView上: ...
在这里,我们可以根据数据项的类型返回不同布局。首先,需要一个字段来存储数据项的类型,例如`int itemType`。然后,在`getView()`中,我们根据`itemType`来决定加载哪个布局。可以使用`if...else`或`switch`语句来...
标题“listview实现悬浮布局”指的是如何让某个视图在ListView滚动时保持固定在屏幕顶部,这通常用于实现类似天气预报、导航栏等需要常显的功能。以下将详细介绍如何在ListView中实现这种悬浮布局。 首先,我们可以...
ListView是一种可滚动的视图,可以显示多个项目,适合于显示列表数据。 6. **创建数据适配器**:ListView的工作原理是通过数据适配器(如`BaseAdapter`或`ArrayAdapter`)将数据绑定到视图。你需要创建一个自定义的...