- 浏览: 3573410 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
1. 自定义ListView,效果图:
2. 代码实现:
(1)res/layout/main.xml实现:
[java:firstline[1]] view plaincopy
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <com.focus.fishme.SelfListView
- android:id="@+id/ListView"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- />
- </LinearLayout>
(2)ListView的Item布局实现:
[java:firstline[1]] view plaincopy
- <?xml version="1.0" encoding="UTF-8"?>
- <LinearLayout
- xmlns:android = "http://schemas.android.com/apk/res/android"
- android:orientation = "vertical"
- android:layout_width = "fill_parent"
- android:layout_height = "fill_parent"
- >
- <TextView
- android:id = "@+id/TextViewOne"
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content"
- android:layout_marginLeft = "10dip"
- android:textSize = "24sp"
- />
- <TextView
- android:id = "@+id/TextViewTwo"
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content"
- android:layout_marginLeft = "10dip"
- />
- <View
- android:layout_height = "1dip"
- android:layout_width = "fill_parent"
- android:background = "#FF0000"
- />
- </LinearLayout>
(3)主Activity实现:
[delphi:firstline[1]] view plaincopy
- package com.focus.fishme;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import android.app.Activity;
- import android.os.Bundle;
- public class SelfListViewActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- /**
- * 设置主布局。
- */
- setContentView(R.layout.main);
- /**
- * ListView数据集。
- */
- List<Map<String , Object>> mSelfData = new ArrayList<Map<String,Object>>();
- /**
- * 获取ListView组件。
- */
- SelfListView mSelfListView = (SelfListView) findViewById(R.id.ListView);
- /**
- * 生成数据。
- */
- for (int i = 0; i < 10; i++) {
- HashMap<String, Object> mMap = new HashMap<String, Object>();
- mMap.put("key_name", "name" + i);
- mMap.put("value_name", "value" + i);
- mSelfData.add(mMap);
- }
- /**
- * 自定义Adapter。
- */
- final SelfAdapter mSelfAdapter = new SelfAdapter(this, mSelfData,
- R.layout.item, new String[] { "key_name", "value_name" }, new int[] { R.id.TextViewOne, R.id.TextViewTwo });
- /**
- * 向ListView设置Adapter。
- */
- mSelfListView.setSelfAdapter(mSelfAdapter);
- }
- }
(4)ListView所用Adapter实现:
[java:firstline[1]] view plaincopy
- package com.focus.fishme;
- import java.util.List;
- import java.util.Map;
- import android.content.Context;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.TextView;
- public class SelfAdapter extends BaseAdapter {
- private LayoutInflater mLayoutInflater;
- private int mResource;
- private List<? extends Map<String, ?>> mSelfData;
- private String[] from;
- private int[] to;
- public SelfAdapter(Context context, List<? extends Map<String, ?>> data, int resouce, String[] from, int[] to) {
- this.mSelfData = data;
- this.mResource = resouce;
- this.mSelfData = data;
- this.from = from;
- this.to = to;
- this.mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- }
- public int getCount() {
- return mSelfData.size();
- }
- public Object getItem(int position) {
- return mSelfData.get(position);
- }
- public String get(int position, Object key) {
- Map<String, ?> map = (Map<String, ?>) getItem(position);
- return map.get(key).toString();
- }
- public long getItemId(int position) {
- return position;
- }
- /**
- * 生成ListView的Item布局。
- */
- public View getView(int position, View convertView, ViewGroup parent) {
- if (convertView == null) {
- convertView = mLayoutInflater.inflate(mResource, null);
- }
- Map<String, ?> item = mSelfData.get(position);
- int count = to.length;
- for (int i = 0; i < count; i++) {
- View v = convertView.findViewById(to[i]);
- bindView(v, item, from[i]);
- }
- convertView.setTag(position);
- return convertView;
- }
- private void bindView(View view, Map<String, ?> item, String from) {
- Object data = item.get(from);
- if (view instanceof TextView) {
- ((TextView) view).setText(data == null ? "" : data.toString());
- }
- }
- }
(5)自定义ListView实现:
[java:firstline[1]] view plaincopy
- package com.focus.fishme;
- import android.content.Context;
- import android.util.AttributeSet;
- import android.view.View;
- import android.widget.BaseAdapter;
- import android.widget.LinearLayout;
- public class SelfListView extends LinearLayout {
- private BaseAdapter mSelfAdapter;
- public SelfListView(Context context) {
- super(context);
- }
- public SelfListView(Context context, AttributeSet attributeSet) {
- super(context, attributeSet);
- }
- /**
- * 删除ListView中上一次渲染的View,并添加新View。
- */
- private void buildList() {
- if (mSelfAdapter == null) {
- }
- if (getChildCount() > 0) {
- removeAllViews();
- }
- int count = mSelfAdapter.getCount();
- for(int i = 0 ; i < count ; i++) {
- View view = mSelfAdapter.getView(i, null, null);
- if (view != null) {
- addView(view, i);
- }
- }
- }
- public BaseAdapter getSelfAdapter() {
- return mSelfAdapter;
- }
- /**
- * 设置Adapter。
- *
- * @param selfAdapter
- */
- public void setSelfAdapter(BaseAdapter selfAdapter) {
- this.mSelfAdapter = selfAdapter;
- buildList();
- }
- }
发表评论
-
android离线
2019-11-04 21:25 301https://www.jianshu.com/p/fdfc4 ... -
android 异步更新
2015-07-11 22:42 1505http://www.apkbus.com/forum.php ... -
仿微米
2015-06-26 10:22 0http://www.javaapk.com/source/4 ... -
仿微信
2015-06-26 10:21 1921http://www.javaapk.com/source/1 ... -
网易客户端
2015-06-26 10:20 1606http://www.javaapk.com/source/4 ... -
仿朋友圈
2015-06-26 10:18 1702http://www.javaapk.com/source/8 ... -
仿朋友圈
2015-06-26 10:13 1839http://www.eoeandroid.com/threa ... -
全国ABC查询
2015-06-26 10:07 1377IM 功能 环信云 信息统计 Umeng 分享Umeng 更新 ... -
android 判断网络
2015-06-25 16:00 1269http://www.cnblogs.com/renqingp ... -
android 多彩表格
2015-05-31 16:06 1480http://blog.csdn.net/conowen/ar ... -
android socket
2015-05-31 16:01 1649http://blog.csdn.net/conowen/ar ... -
微信播放语音3
2015-02-25 12:00 1437http://download.csdn.net/detail ... -
微信语音播放2
2015-02-25 11:57 1364http://download.csdn.net/detail ... -
微信语音播放
2015-02-25 11:56 1715http://www.apkbus.com/android-1 ... -
超强的资料整合
2015-01-05 11:04 1226http://zz563143188.iteye.com/bl ... -
最强开发资源平台大合集
2015-01-04 14:50 1888程序员代码应用开发平 ... -
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
2014-09-04 15:45 1382http://blog.csdn.net/vipzjyno1/ ... -
android应用推广
2014-09-03 23:25 1317应用推广不必愁,有米 ... -
android 图片异步加载
2014-09-03 16:47 1135http://www.csdn.net/article/201 ... -
android hander的使用
2014-09-02 23:46 1364http://www.cnblogs.com/xiaoran1 ...
相关推荐
"Android中自定义ListView控件实现下拉刷新" Android中自定义ListView控件实现下拉刷新是 Android 开发中常见的需求。下拉刷新(Pull-to-Refresh)是指在ListView中下拉时,触发刷新操作的机制。下拉刷新可以提高...
参考链接提供的博客文章《Android自定义ListView实现详解》(https://blog.csdn.net/qq_34020487/article/details/89402562),作者详细介绍了自定义ListView的过程,包括创建自定义适配器、设置点击事件和优化性能...
在提供的MyListView文件中,可能就包含了自定义ListView解决滑动冲突的实现代码。通过查看和分析这个文件,我们可以学习到如何在代码层面解决此类问题,加深对Android事件分发机制的理解,并提升自定义控件的能力。 ...
自定义ListView的样式是提高用户体验和个性化应用设计的重要手段。以下将详细介绍如何在Android中实现ListView的自定义样式。 1. **自定义ListView的外观** - **自定义ListView项布局**:首先,你需要创建一个XML...
本示例将深入探讨如何在Android中自定义ListView,包括它的创建、数据绑定以及实现一些视觉效果。 首先,创建一个ListView需要XML布局文件来定义它的结构。在`res/layout`目录下创建一个新的XML文件,例如`list_...
本教程将详细讲解如何在Android中实现自定义ListView,包括基本的ListView、带图片的ListView以及带有按钮的ListView。 1. **基本的ListView** - 首先,你需要在布局文件中添加ListView元素,并为其设置ID。例如:...
在Android开发中,自定义ListView实现下拉刷新和加载更多的功能是常见的需求,尤其是在构建具有数据流滚动和实时更新的应用程序时。这个"自定义ListView实现下拉刷新+加载更多功能Demo"旨在帮助开发者理解如何集成...
Android 自定义ListView,分别实现下拉刷新的ListView及上拉加载的ListView 详情可以参考我的博客 http://blog.csdn.net/sunshanai/article/details/51622917
总结,实现“android 自定义listview分组显示本地json格式数据”需要完成以下步骤:解析本地JSON数据、创建自定义Adapter、处理点击事件以及设置HeaderListView。通过这样的方式,我们可以在Android应用中构建出一个...
总结,自定义ListView实现单选是Android开发中常见的需求。通过创建自定义Adapter,处理点击事件,以及优化视图复用,我们可以轻松实现这一功能。同时,自定义ListView也能为开发者提供更大的灵活性,以满足各种复杂...
在ListView中,Adapter负责将数据项转化为ListView的ListItems。Android提供了一些预定义的Adapter,如ArrayAdapter和CursorAdapter,但它们可能无法满足所有需求,因此我们常常需要自定义Adapter。 自定义Adapter...
自定义ListView可能包含了对滚动事件的特殊处理,而自定义HeaderView则可能是为了更好地集成到ListView中,提供更丰富的交互效果。 4. **实际应用**: - 将这两个自定义类复制到你的项目中,根据具体需求进行调整...
在Android开发中,`TabHost` 是一个非常重要的组件,用于实现多标签页面的切换,而将自定义的`ListView`填充到`TabHost`中则可以构建出复杂的交互界面。下面我们将详细探讨如何实现这一功能。 首先,我们需要了解`...
本篇文章将详细探讨如何在Android中自定义ListView和实现两种不同的ProcessBar。 首先,自定义ListView涉及到的主要内容包括适配器(Adapter)的创建、视图复用(View Recycling)以及自定义视图(ViewHolder)的...
总之,自定义ListView是Android开发中的核心技能之一,它涉及到数据绑定、视图复用、事件处理等多个方面。通过熟练掌握自定义Adapter,我们可以创造出丰富多样的列表视图,满足各种复杂的界面需求。
以上是关于“android 自定义listview无法响应点击事件OnItemClickListener”这一问题的详细分析和解决策略。在实际开发中,遇到此类问题,可以根据这些点逐一排查,通常能够找到问题所在并解决。对于Test2这个压缩包...
这个问题的解决方法是高效地加载网络图片并自定义ListView的布局。 首先,我们需要了解异步加载的概念。异步加载是为了避免阻塞主线程,它将耗时的操作(如下载图片)放在后台线程中执行,然后在UI线程中更新显示...
总之,Android自定义ListView从服务端获取图片涉及网络请求、图片加载库、缓存策略、ListView优化等多个环节,需要综合考虑性能和用户体验。通过熟练掌握这些技术,我们可以创建出高效、流畅的ListView应用。
在Android开发中,...总的来说,Android自定义ListView与Gallery组合的实现涉及到了数据绑定、视图复用、事件监听等多个核心知识点,通过熟练掌握这些技能,开发者可以构建出功能强大、用户体验优良的Android应用。