- 浏览: 3944440 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hinuliba:
...
字体背景颜色的高度修改 -
KANGOD:
最后的 -createDialog() 私有方法是怎么回事,没 ...
简单的实现listView中item多个控件以及点击事件 -
sswangqiao:
呵呵,呵呵
onActivityResult传值的使用 -
yumeiqiao:
感觉你所的不清楚 lstView.setOnTouchLi ...
listview中viewflipper的问题 -
lizhou828:
果然是大神啊!!!
Animation动画效果的实现
package com.dev.multicolumn.listview;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RatingBar;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class MultiColumnListView extends Activity {
/** Called when the activity is first created. */
// I use HashMap arraList which takes objects
private ArrayList <HashMap<String, Object>> myBooks;
private static final String BOOKKEY = "bookname";
private static final String PRICEKEY = "bookprice";
private static final String IMGKEY = "iconfromraw";
private static final String RATINGKEY = "ratings";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView listView = (ListView)findViewById(R.id.list);
myBooks = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> hm;
//With the help of HashMap add Key, Values of Book, like name,price and icon path
hm = new HashMap<String, Object>();
hm.put(BOOKKEY, "Android");
hm.put(PRICEKEY, "Price Rs: 500");
hm.put(IMGKEY, R.raw.android); //i have images in res/raw folder
hm.put(RATINGKEY, 2);
myBooks.add(hm);
hm = new HashMap<String, Object>();
hm.put(BOOKKEY, "PHP");
hm.put(PRICEKEY, "Price Rs: 250");
hm.put(IMGKEY, R.raw.php);
hm.put(RATINGKEY, 1);
myBooks.add(hm);
hm = new HashMap<String, Object>();
hm.put(BOOKKEY, "Java");
hm.put(PRICEKEY, "Price Rs: 399");
hm.put(IMGKEY, R.raw.java);
hm.put(RATINGKEY,3);
myBooks.add(hm);
hm = new HashMap<String, Object>();
hm.put(BOOKKEY, "C++");
hm.put(PRICEKEY, "Price Rs: 450");
hm.put(IMGKEY, R.raw.cplusplus);
hm.put(RATINGKEY, 2);
myBooks.add(hm);
//
// SimpleAdapter adapter = new SimpleAdapter(this, myBooks, R.layout.listbox,
//new String[]{BOOKKEY,PRICEKEY,IMGKEY}, new int[]{R.id.text1, R.id.text2, R.id.img});
// ListAdapter adapter = new myListAdapter(myBooks);
listView.setAdapter(new myListAdapter(myBooks,this));
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
private class myListAdapter extends BaseAdapter{
private ArrayList<HashMap<String, Object>> Books;
private LayoutInflater mInflater;
public myListAdapter(ArrayList<HashMap<String, Object>> books, Context context){
Books = books;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Books.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return Books.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
// A ViewHolder keeps references to children views to avoid unneccessary calls
// to findViewById() on each row.
ViewHolder holder;
// When convertView is not null, we can reuse it directly, there is no need
// to reinflate it. We only inflate a new View when the convertView supplied
// by ListView is null
if (convertView == null) {
convertView = mInflater.inflate(R.layout.listbox, null);
// Creates a ViewHolder and store references to the two children views
// we want to bind data to.
holder = new ViewHolder();
holder.v = (TextView) convertView.findViewById(R.id.text1);
holder.v1 = (TextView) convertView.findViewById(R.id.text2);
holder.icon = (ImageView) convertView.findViewById(R.id.img);
holder.rating = (RatingBar)convertView.findViewById(R.id.star);
convertView.setTag(holder);
}else {
// Get the ViewHolder back to get fast access to the TextView
// and the ImageView.
holder = (ViewHolder) convertView.getTag();
}
// Bind the data with the holder.
holder.v.setText((String) Books.get(position).get(BOOKKEY));
holder.v1.setText((String) Books.get(position).get(PRICEKEY));
holder.icon.setImageResource((Integer)Books.get(position).get(IMGKEY));
holder.rating.setRating((Integer)Books.get(position).get(RATINGKEY));
return convertView;
}
static class ViewHolder {
TextView v;
TextView v1;
ImageView icon;
RatingBar rating;
}
}
}
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:orientation="horizontal" android:layout_height="wrap_content"> <LinearLayout android:layout_width="265dip" android:orientation="vertical" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/text1" android:textSize="25dip" android:text="This is text1"/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/text2" android:text="This is text2"/> <RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/ratingBarStyleSmall" android:id="@+id/star" android:numStars="10" android:stepSize="0.1" android:isIndicator="true" /> </LinearLayout> <ImageView android:layout_width="55dip" android:layout_height="fill_parent" android:id="@+id/img" /> </LinearLayout>
<?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" > <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/list" /> </LinearLayout>
发表评论
-
如何用U盘安装 debian linux 系统
2018-03-09 11:03 4406首先下载Win32DiskImager-0.9.5-inst ... -
远程连接云桌面
2018-03-07 15:41 4079http://blog.csdn.net/loyachen/ ... -
listView 点击发起对话框
2011-01-04 09:46 1908public class ListTaxi extends L ... -
service的使用
2010-12-12 11:49 2393http://www.androidcompetencycen ... -
转屏的设置
2010-12-11 09:54 2049@Override public void onCo ... -
列出目录下的所有图片
2010-12-07 11:32 3114public class GalleryTestActivit ... -
listView 多值显示
2010-11-20 17:06 2023<ListView android:id=" ... -
notification Led灯
2010-10-19 18:45 2944public class NotificationUtil ... -
文本从超链接问题Links Using Linkify
2010-10-12 18:00 4906// 没有任何连接 textView.setAutoLink ... -
listView显示选择图片
2010-10-07 11:25 3581public class ItemsList extends ... -
include merge的使用
2010-10-07 10:01 2017root.xml <?xml version=&q ... -
简单旋转
2010-10-06 12:03 1913@Override public void onDra ... -
cygwin安装 android源码下载步骤以及ndk编译
2010-09-25 18:25 3670嘿嘿自己写了个文档 赚点钱花 好下载东西 就不在这里上传了 ... -
title 标题栏字体设置
2010-09-23 16:15 4942<!-- Sets the text styles -- ... -
各种线程总结
2010-09-16 18:58 18501.public void onClick(View v) { ... -
解析xml
2010-09-13 17:34 1401http://www.ibm.com/developerwor ... -
alarm一小时一次
2010-09-12 17:41 2120long firstTime = SystemCloc ... -
imagView有效的加载图片
2010-09-11 12:56 1956((ImageView)view).setImageBitma ... -
新seekBar
2010-09-10 11:03 1914这不是我弄的,是一个论坛里面的 忘了地址了 哪天找到在不上 -
EditText圆角设置
2010-09-06 14:36 5714<?xml version="1.0" ...
相关推荐
listview实现,hashmaplistview实现,hashmaplistview实现,hashmaplistview实现,hashmaplistview实现,hashmaplistview实现,hashmaplistview实现,hashmaplistview实现,hashmap
ListView 中添加 CheckBox...我们使用了一个自定义的 Adapter 来控制 ListView 中的每个项目,并使用了一个 HashMap 来存储每个项目中的 CheckBox 的状态。这样,我们可以在任何时候获取当前项目中的 CheckBox 的状态。
本篇文章将详细探讨如何实现ListView的多选功能,特别是通过HashMap来记录选中状态。 首先,我们需要了解ListView的基本工作原理。ListView通常配合Adapter使用,Adapter负责将数据转化为View显示在列表中。在多选...
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,用户可以通过滚动查看不同条目。SimpleAdapter则是ListView常用的适配器,它简化了数据绑定和UI展示的过程。本篇文章将深入探讨ListView和...
可以使用HashMap存储这些分组,键为字母,值为包含该字母的联系人列表。 为了展示字母栏,我们可以在ListView的右侧添加一个垂直滚动的TextView,显示所有可能出现的首字母。当用户点击某个字母时,TextView会高亮...
最后,为了获取ListView中所有EditText的值,可以在适配器中添加一个方法,遍历HashMap并返回所有值: ```java public List<String> getAllEditTextValues() { List<String> values = new ArrayList(editorValue....
3. **创建数据集**:准备一个HashMap或List, ?>>,包含要显示的数据。 4. **创建适配器**:使用`SimpleAdapter`,传入上下文、列表项布局资源ID、数据集、键值映射列表以及列表项的视图类型。 5. **设置适配器**:将...
在SimpleAdapter中,我们可以通过HashMap来绑定数据,同时指定布局文件来控制显示样式。 接着,我们来看一下ListView的一些常用特性: 1. **复用机制**:ListView通过ViewHolder模式实现视图的复用,避免了频繁地...
使用BaseAdapter的一个优点是它可以处理任何类型的列表数据,无论是ArrayList、HashMap还是其他自定义的数据结构。同时,BaseAdapter也支持复杂的视图复用机制,有助于提高应用的性能。 总结来说,"用BaseAdapter...
当用户在EditText中输入时,将输入的文本保存到对应的SparseArray或HashMap中,键为ListView的position,值为EditText的文本。 ```java HashMap, String> editTextValues = new HashMap(); ``` #### 2.2 监听...
3. **数据结构**:为了管理不同类型的item,我们需要定义一个数据结构来存储这些数据,可能是自定义的Java对象或者List<HashMap, Object>>,其中键值对表示每个item的不同属性。 4. **处理不同类型Item**:在`...
在Android开发中,ListView是一个非常重要的控件,用于展示大量数据的列表形式。它通过复用视图(ViewHolder模式)来高效地显示大量的数据项,是应用中展示数据列表的标准方式。本教程将深入讲解ListView的三种常见...
它可以将复杂的数据结构(如HashMap)映射到ListView的各个项。SimpleAdapter有一个构造函数,接收数据集、上下文、布局资源ID、数据键值映射列表和默认的视图类型。通过这种方式,开发者可以自定义每个列表项的布局...
在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表,比如联系人列表、邮件列表等。它具有良好的可滚动性和可交互性,能够有效地利用屏幕空间。本实例将探讨如何结合SimpleAdapter来创建一个...
我们可以创建一个自定义的Adapter,扩展BaseAdapter类,并在其中维护一个数据结构,如HashMap或ArrayList,用来存储每个组及其对应的子项。数据结构中的每个条目都应包含组名和子项列表。 在Adapter的`getView()`...
5. **数据源**:ListView的数据通常来自一个列表或数组,可以是ArrayList、HashMap或其他集合类型。在Adapter的构造函数中,开发者会传入这个数据源,并在getView()方法中根据数据生成视图。 6. **ViewHolder模式**...
可以创建一个HashMap来存储每个ListView项的ID和对应的CheckBox状态。在刷新或加载后,根据HashMap恢复CheckBox的状态,确保新加载的数据依然能反映出用户的先前选择。 六、代码实践 在具体实现中,可以创建一个...
2. **SimpleAdapter**:适用于数据格式已定义的情况,比如HashMap。你可以自定义数据的显示样式,通过设置不同的item布局。 3. **BaseAdapter**:这是Adapter的基类,提供了最基本的接口。如果你需要自定义更复杂的...
在数据集(listItem)中,每个条目是一个HashMap,键值对对应于ListView项的不同部分,如图片、类别和金额。 ```java List<HashMap, Object>> listItem = new ArrayList(); // 将数据填充到listItem for (int i = ...
1. 创建图片缓存类:创建一个缓存类,例如`BitmapCache`,它包含一个SoftReference数组或者使用HashMap存储SoftReference。这样可以存储图片对象,同时允许在内存紧张时释放缓存。 2. 实现异步加载:使用AsyncTask...