/**
*
*
*
* @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使用技巧
Android listview 基本步骤 一个小事例
Android中使用ArrayAdapter的demo,比较简单,里面用两种方法实现,在MainActivity里面,其中一种被我注释起来了,大家把注释去掉就好了。没有使用自定义适配器,对应的我的博客地址是:...
NULL 博文链接:https://byandby.iteye.com/blog/818208
ListView使用simpleAdapter填充实现,数据结构是HashMap,对应的我的博客地址是: http://blog.csdn.net/u012320459/article/details/47667869
listview使用方法代码源码。注释详尽。适合新手学习listview控件的使用。经验之谈。
Android下使用ListView的简单Demo,详细可以参见博客。http://www.cnblogs.com/plokmju/p/android_ListView.html
Android ListView卡片效果,源码下载。
Android ListView边框圆角美化,可以用来仿iphone的个别界面。相当有用。美观。
这是重写的继承自ArrayAdapter类的自定义适配器方式,数组元素是自定义类。对应的我的博客地址是:http://blog.csdn.net/u012320459/article/details/47667869
android listview的使用方法,最简单的listview使用。
android listview 固定表头,固定前几列
Android listview viewpager 滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 blog 地址 : http://blog.csdn.net/aaawqqq/article/details/43824631
Android ListView 实例源码
Android listview 下拉 刷新
android ListView简单用法
android listView 改变选中行的 字体颜色和 图片
这是我自己的写的在listview里面使用radiobutton
http://blog.csdn.net/lv_fq/article/details/52976463
android 布局中网格视图 ListView的简单运用 采用的是最简单的ArrayAdapter适配器