点击button按钮动态加载listView
来源:互联网 发布:淘宝新店流量 编辑:程序博客网 时间:2024/05/16 19:56
在android中listView这个控件比较常用, 比如像新浪微博的置顶加载,手机QQ空间的底端加载listView。这些demo都比较多,随便“度娘”下,一大堆。 这些写的是个比较简单的点击button加载listView数据的demo。
首先看下xml。 main.xml, verify_table_four.xml
main.xml:
<?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" android:background="@drawable/zbgimg" ><TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/tv" /> <Button android:id="@+id/bt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="增加..."/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"><ListView android:id="@+id/listview" android:layout_height="wrap_content"android:layout_width="fill_parent" style="@style/list_view_style"></ListView></LinearLayout></LinearLayout>
verify_table_four.xml:
<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="wrap_content"><TableRow><TextView android:id="@+id/item1" android:layout_height="wrap_content"android:textStyle="bold" android:textSize="15dip"android:layout_width="50dip" android:width="120dip"android:textColor="#FFF" android:editable="true" /><TextView android:id="@+id/item2" android:layout_height="wrap_content"android:textSize="15dip" android:width="70dip" android:textColor="#FFF"android:layout_width="170dip" android:textStyle="bold"android:editable="true" /><TextView android:id="@+id/item3" android:textSize="15dip"android:textStyle="bold" android:layout_width="40dip"android:editable="true" android:layout_height="wrap_content"android:textColor="#FFF" /></TableRow></TableLayout>
java代码,很简单, 就不细说。
package com.wanghf;import java.util.ArrayList;import java.util.Calendar;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.ListView;import android.widget.TextView;public class DynamicListViewActivity extends Activity {Button bt;ListView lv ;BaseAdapter adapter;private ArrayList<Map<String, String>> dataList; Map<String, String> map; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bt = (Button)this.findViewById(R.id.bt); lv = (ListView)this.findViewById(R.id.listview); dataList = new ArrayList<Map<String, String>>(); adapter = new TextAdapter(DynamicListViewActivity.this,dataList); lv.setAdapter(adapter); setBtOnClickListener(); } private void setBtOnClickListener(){ bt.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub map = new HashMap<String, String>(); map.put("name", " "); map.put("phone", getDate()); map.put("address", "OK"); dataList.add(map); lv.setAdapter(adapter); adapter.notifyDataSetChanged(); }}); } /** * 获取系统时间 * @return */ public String getDate(){ Calendar ca = Calendar.getInstance(); int year = ca.get(Calendar.YEAR);//获取年份 int month=ca.get(Calendar.MONTH);//获取月份 int day=ca.get(Calendar.DATE);//获取日 int minute=ca.get(Calendar.MINUTE);//分 int hour=ca.get(Calendar.HOUR);//小时 int second=ca.get(Calendar.SECOND);//秒 String date = year + "/" + (month + 1 )+ "/" + day + " "+ hour + ":" + minute + ":" + second ; return date; } /** * 重写baseAdapter * @author wanghf * */ private class TextAdapter extends BaseAdapter {private List<Map<String, String>> data;public Activity activity;private LayoutInflater inflater = null;public TextAdapter(Activity a,ArrayList<Map<String, String>> dataList) {activity = a;this.data = dataList;//LayoutInflater的作用是,把一个View的对象与XML布局文件关联并实例化inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);}public int getCount() {return data.size();}public Object getItem(int position) {return position;}public long getItemId(int position) {return position;}public View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder;if (convertView == null) {LayoutInflater li = getLayoutInflater();holder = new ViewHolder();convertView = li.inflate(R.layout.verify_table_four, null);holder.item1 = (TextView) convertView.findViewById(R.id.item1);holder.item2 = (TextView) convertView.findViewById(R.id.item2);holder.item3 = (TextView) convertView.findViewById(R.id.item3);convertView.setTag(holder);holder.item1.setText(data.get(position).get("name")+position);holder.item2.setText(data.get(position).get("phone"));holder.item3.setText(data.get(position).get("address"));} else {holder = (ViewHolder) convertView.getTag();}return convertView;}};/** * 创建此类,为了优化控件使用率, 不在重复new新的控件, 占用系统内存。 * @author wanghf * */public class ViewHolder {public TextView item1;public TextView item2;public TextView item3;}}
效果图:
- 点击button按钮动态加载listView
- EasyUI动态加载button按钮
- 点击Button按钮,解析在ListView上
- ListView中加上加FootView和点击按钮动态加载listview
- ListView 点击 更多按钮 加载更多
- Android Listview中Button按钮点击事件冲突解决办法
- Android Listview中Button按钮点击事件冲突解决办法
- Android Listview中Button按钮点击事件冲突解决办法
- ListView后面动态追加加载更多按钮
- button按钮不可点击
- 点击按钮(Button、MenuItemSprite)
- android 动态加载按钮并为按钮设置点击事件
- GridLayout中动态加载的Button按钮如何触发
- radioGroup动态加载radiobutton且radiobutton没有button圆圈按钮
- Android ListView item中有按钮(Button)不能点击或者条目不能点击的问题
- 实现ListView的 分页加载,通过点击按钮实现
- 动态添加button按钮
- button按钮的点击状态
- oracle的游标使用总结
- 在python中如何重定向标准输出stdout到文件代码示例
- C语言的柔性数组运用解析
- delphi 有关包的介绍
- 利用v4l2获取一帧数据到文件
- 点击button按钮动态加载listView
- s3c2440硬件学习笔记----GPIO接口
- 利用XStream在Java对象和XML之间相互转换
- cin用法介绍[C++]
- poj 3268 Silver Cow Party dijkstra基础题!!!入门
- sencha-touch-chart与大量坐标,减少x轴坐标解决办法
- MR操作hbase的一点心得(含hbase表拷贝样例代码)
- wamcc:将Prolog编译成C (No.7-2)
- 数组指针与指针数组