ListView添加头布局事件处理
来源:互联网 发布:权力的游戏分析知乎 编辑:程序博客网 时间:2024/05/22 07:46
效果图
TOP1: ListView适配器;
package com.yd.listdemo;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import java.util.ArrayList;import java.util.List;/** * Created by YD on 2016/12/18. */public class ListViewAdapter extends BaseAdapter { private List<String> list = new ArrayList<String>(); private Context mContext; public ListViewAdapter(Context mContext, List<String> list) { this.mContext = mContext; this.list = list; } @Override public int getCount() { if (list.size() > 0) { return list.size(); } return 0; } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh = null; if (convertView == null) { vh = new ListViewAdapter.ViewHolder(); convertView = LayoutInflater.from(mContext).inflate(R.layout.content, null); vh.info = (TextView) convertView.findViewById(R.id.info); convertView.setTag(vh); } else { vh = (ViewHolder) convertView.getTag(); } vh.info.setText(list.get(position)); return convertView; } class ViewHolder { TextView info; }}
TOP2: 添加头部和底部布局;
public class MainActivity extends Activity { ListView lv; List<String> list = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.myListview); for (int i = 0; i <= 20; i++) { list.add(i + ""); } final ListViewAdapter listAdapter = new ListViewAdapter(this, list);
//添加头部布局 View viewFoot = getLayoutInflater().from(this).inflate(R.layout.listview_bottom, null);
//这里需要注意不能直接用findViewById,需要在前面加上你当前头部View.fv**** Button success = (Button) viewFoot.findViewById(R.id.success); success.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "底部", Toast.LENGTH_LONG).show(); } }); //头部 View viewHead = getLayoutInflater().from(this).inflate(listview_head, null); final ProgressBar pb = (ProgressBar) viewHead.findViewById(R.id.pb); Button button = (Button) viewHead.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "头部按钮", Toast.LENGTH_LONG).show(); pb.setVisibility(View.GONE); } });
//注意:添加头部和底部布局的时候必须在setAdapter之前; lv.addHeaderView(viewHead); lv.addFooterView(viewFoot); lv.setAdapter(listAdapter); }
0 0
- ListView添加头布局事件处理
- ListView添加头布局
- android ListView添加头布局
- ListView添加头布局和脚布局
- RecyclerView使用详解一代替ListView(点击事件,添加头布局,上拉刷新下拉加载)
- ListView添加头布局的自定义控件
- ListView悬浮头布局
- RecyclerView添加头布局
- Recyclerview添加头布局
- RecyclerView头布局添加
- RecyclerView添加头布局
- recycle添加头布局
- PullToRefresh添加头布局
- ListView的添加不同布局的item,缓存处理方法
- listView添加 头部后的点击事件的处理
- 如何让ListView的头布局不响应被选中事件
- Android解决4.2的listview setadapter以后不能添加头布局的问题
- ListView添加分段头信息
- 唐都DAC0832产生梯形波并在虚拟仪器中的示波器中观察
- 【docker】使用docker快速搭建nginx+php开发环境
- Java程序员从笨鸟到菜鸟之(十三)java网络通信编程
- python3 yield 实现 os.walk 的功能
- Unit03: 类的定义与实例化 、 构造函数与初始化表 、 this指针与常函数
- ListView添加头布局事件处理
- angularJS1 报错 Error: [ng:areq] Error: [$controller:ctrlreg]
- ffmpeg 使用方法
- CSS3的部分常用新特性
- 内核3.x版本之后设备树机制
- Shredding Company(简单的搜索剪枝)
- Linux_4th_第1个linux驱动___内核与驱动模块的第一次接触
- 最大权闭合子图
- 基于粒子滤波器的目标跟踪算法基础(Rob Hess代码详细解析)第一部分