/**
*
*
*
* @author fansxnet
*
*
* @deprecated pojo
*
*
*/
public class Item {
private int i;
private Drawable imge;
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
public Drawable getImge() {
return imge;
}
public void setImge(Drawable imge) {
this.imge = imge;
}
}
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class ListViewTestActivity extends Activity {
private ListView listview;
private List<Item> itemlist;
private Context context;
private ListViewAdapter listadapter;
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
itemlist = new ArrayList<Item>();
this.context = this;
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
itemlist = getData();
listadapter.addItem(itemlist);
// listadapter.notifyDataSetChanged();
}
});
listview = (ListView) findViewById(R.id.listView);
listview.setOnItemClickListener(new ListItemOnClickListener());
listadapter = new ListViewAdapter(context);
listview.setAdapter(listadapter);
}
private List<Item> getData(){
List<Item> templist = new ArrayList<Item>();
for(int i = 0;i<10;i++){
Item item = new Item();
item.setI(i);
item.setImge(getResources().getDrawable(R.drawable.ic_launcher));
templist.add(item);
}
return templist;
}
class ListViewAdapter extends BaseAdapter {
private List<Item> itemlist;
private Context mContext;
public ListViewAdapter(Context context) {
this.itemlist = new ArrayList<Item>();
this.mContext = context;
}
public void addItem(List<Item> addlist){
itemlist.addAll(addlist);
notifyDataSetChanged();
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return itemlist.size() + 1;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
if (position == this.getCount() - 1) {
return null;
} else {
return itemlist.get(position);
}
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
if (position != this.getCount() - 1) {
return position;
} else {
return -1;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Item item = new Item();
if(position != this.getCount()-1){
item = itemlist.get(position);
}
if(position == this.getCount()-1){
LayoutInflater flater = (LayoutInflater) context.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
convertView = flater.inflate(R.layout.morestatus, null);
return convertView;
}
convertView = LayoutInflater.from(mContext).inflate(R.layout.listviewitem, null);
ImageView imageview = (ImageView)convertView.findViewById(R.id.imageView);
TextView textview = (TextView)convertView.findViewById(R.id.textView);
imageview.setImageDrawable(item.getImge());
textview.setText(String.valueOf(item.getI()));
return convertView;
}
}
class ListItemOnClickListener implements OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
long id = arg0.getItemIdAtPosition(arg2);
if(id == -1){
itemlist = getData();
listadapter.addItem(itemlist);
listadapter.notifyDataSetChanged();
}else{
Toast.makeText(context, String.valueOf(id), 5000).show();
}
}
}
}
分享到:
相关推荐
本篇文章将深入探讨几个关键的Android ListView使用技巧,帮助你提升应用的用户体验和性能。 1. **适配器Adapter的使用** ListView的核心在于适配器,它负责将数据集转化为ListView可显示的视图。常见的适配器有...
总之,"android listview使用方法demo"是一个很好的学习资源,涵盖了ListView的基本使用和常见的扩展功能。通过研究这个Demo,开发者可以深入理解如何在Android应用中有效地使用ListView,展示和处理大量数据。
在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据列表,通常用于实现像通讯录、消息列表等效果。本教程将详细讲解如何在实际项目中使用ListView,并结合源码分析其工作原理。 首先,我们需要...
以下是一个关于如何在Android中使用ListView的简单事例: 第一步:新建`MyListActivity`继承自`ListActivity` 在创建一个基于ListView的活动时,通常会继承`ListActivity`类,因为它为ListView提供了一些便利的方法...
综上所述,要在Android的ListView中使用Checkbox,我们需要创建自定义Adapter,设计Checkbox的布局,管理复选状态,监听并处理用户操作,同时注意性能优化和状态恢复。在实际项目中,这样的实现方式能够提供灵活的...
Android中使用ArrayAdapter的demo,比较简单,里面用两种方法实现,在MainActivity里面,其中一种被我注释起来了,大家把注释去掉就好了。没有使用自定义适配器,对应的我的博客地址是:...
ListView使用simpleAdapter填充实现,数据结构是HashMap,对应的我的博客地址是: http://blog.csdn.net/u012320459/article/details/47667869
这个"Android下使用ListView的简单Demo"旨在帮助开发者理解如何在实际项目中有效地运用ListView。下面将详细介绍ListView的基本使用、适配器原理以及一些常见的优化策略。 1. **ListView的基本结构** ListView的...
在实际开发中,为了优化性能,通常会使用ViewHolder模式来减少视图查找的时间,同时对ListView进行适当的滚动优化,如使用懒加载、设置Item的复用策略等。 最后,记得处理触摸事件,确保点击父ListView的条目时不会...
总的来说,Android ListView的边角圆角美化涉及到自定义布局、形状资源、适配器的使用以及一些细节的优化。通过这种方式,我们可以使ListView更加美观,提升应用的整体设计感。同时,也要注意性能问题,避免过度绘制...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。而当需要在ListView中实现单选功能时,我们通常会使用RadioButton。本文将深入探讨如何在ListView中集成RadioButton,以及相关的实现...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。`下拉刷新`和`上拉加载`功能的实现,极大地提升了用户体验,让用户能够实时获取到最新的数据。本篇文章将深入探讨如何在ListView中实现这两种...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的高效性和可滚动性使得它在显示数据集合时十分有用。然而,当ListView的子项(item)宽度超过屏幕宽度时,如何实现自动换行就成了一个...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的网格布局模式使得数据以多列的形式展示,增强了界面的可读性和用户体验。本文将深入探讨如何在Android中实现一个基于ArrayAdapter的网格...
本篇文章将深入探讨如何在Android应用中有效地使用ListView。 首先,我们来了解ListView的基本结构。ListView由多个列表项(List Item)组成,这些列表项通常通过一个自定义的布局文件定义。布局文件中包含每个列表...
这是重写的继承自ArrayAdapter类的自定义适配器方式,数组元素是自定义类。对应的我的博客地址是:http://blog.csdn.net/u012320459/article/details/47667869
在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。然而,当列表项过多时,滚动时表头(Header)会随着滚动消失,给用户查看和理解数据带来不便。为了解决这个问题,开发者通常会实现一个固定...
Android listview viewpager 滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 blog 地址 : http://blog.csdn.net/aaawqqq/article/details/43824631
对于这些问题,可以通过设置ListView的`transcriptMode`属性、监听软键盘的显示隐藏、或者使用诸如`android:descendantFocusability`这样的XML属性来调整ListView的行为。 至于提到的"后2个包没用",可能是指在解决...
这个实例源码“Test_Golf1”很可能包含了一个完整的ListView应用示例,帮助开发者理解如何在Android中有效地使用ListView。下面将详细阐述ListView的相关知识点。 1. **ListView基本使用**: - `ListView`是...