ListView- 最后一行添加控件
今天在做一个功能的时候,要求必须是在一个listview下,有一段提示行的文字,自己的那个listview的adapter用的是cursoradapter,这样的话,处理布局的灵活性就大打折扣了。最开始的想法是改变item的布局,然后在adapter中处理,保证在listview加载到最后一行的时候,控制item中添加的textview显示,实现提示效果。但是,这时候会面临很多的问题。比如,最后一行点击事件,最后一行的下划线等。
后来,想到了另外一种方法,就是不再adapter中添加,而是直接在listview中添加,这个很好的解决了问题。代码如下
- /* Vanzo:zhangshuli on: Sat, 24 Jan 2015 16:21:40 +0000
- */
- private View mAddSlideItem;
- private TextView mSearchResult;
- // End of Vanzo: zhangshuli
- public void onCreate1(Bundle icicle) {
- MmsLog.d(TAG,"onCreate");
initPlugin(this, getIntent());
sNeedRequery = true;
final Uri u = getIntent().getData();- if (u != null && u.getQueryParameter("source_id") != null) {
gotoComposeMessageActivity(u)
; return;- }
- ContentResolver cr = getContentResolver();
mLayoutSearch = (RelativeLayout) findViewById(R.id.conv_second);- mLayoutSearch.setVisibility(View.GONE);
//得到想要添加的控件
mAddSlideItem = ((LayoutInflater) getSystemService(- Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.search_mms_result, null);
mSearchResult = (TextView) mAddSlideItem.findViewById(R.id.search_result);
mSearchListView = (ListView) findViewById(R.id.list2);- mSearchListView.setItemsCanFocus(true);
- mSearchListView.setFocusable(true);
- mSearchListView.setClickable(true);
- //在末尾添加控件
mSearchListView.addFooterView(mAddSlideItem);
mTvEmpty = (TextView)findViewById(android.R.id.empty);
setTitle("");- Contact.addListener(mContactListener);
mQueryHandler2 = new AsyncQueryHandler(cr) {- protected void onQueryComplete(int token, Object cookie, Cursor c) {
try {- if (searchProgressDialog != null && searchProgressDialog.isShowing()) {
- searchProgressDialog.setDismiss(true);
- searchProgressDialog.dismiss();
- }
- } catch (IllegalArgumentException ex) {
- MmsLog.d(TAG,"Dialog.dismiss() IllegalArgumentException");
- }
- if (mIsContentChanged) {
- sWaitSaveDraft = false;
- mIsContentChanged = false;
- }
- mIsQueryComplete = true;
- /// @}
- if (c == null) {
- /// M: Add for OP09: @{
- mSearchListView.setFocusable(true);
- mSearchListView.setFocusableInTouchMode(true);
- mSearchListView.requestFocus();
- // Remember the query if there are actual results
- if (cursorCount > 0) {
- SearchRecentSuggestions recent = ((MmsApp)getApplication()).getRecentSuggestions();
- if (recent != null) {
- recent.saveRecentQuery(searchString, getString(R.string.search_history, cursorCount, searchString));
- }
- }
如果你想让自己添加的item不可点击,这时候你可以通过
- mSearchListView.addFooterView(mAddSlideItem, null, false);
方法来添加。其中第三个参数就是控制你的item状态是否可点击。
其实,我们如果看listview的实现的话,会发现在源码里面,addFooterView(item)中也调用了addFooterView(item,,)方法,它传递的参数是addFooterView(item,null,true),也就是默认为可点击状态了
ListView- 最后一行添加控件的更多相关文章
- winfrom如何在listview中添加控件
private Button btn = new Button(); private void Form1_Load(object sender, EventArgs e) { ListViewIte ...
- winform导入导出excel,后台动态添加控件
思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...
- android 在布局中动态添加控件
第一步 final LayoutInflater inflater = LayoutInflater.from(this); 第二步:获取需要被添加控件的布局 final LinearLayout l ...
- 怎样在不对控件类型进行硬编码的情况下在 C#vs 中动态添加控件
文章ID: 815780 最近更新: 2004-1-12 这篇文章中的信息适用于: Microsoft Visual C# .NET 2003 标准版 Microsoft Visual C# .NET ...
- JQuery动态添加控件并取值
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 给jquery-validation插件添加控件的验证回调方法
jquery-validation.js在前端验证中使用起来非常方便,提供的功能基本上能满足大部分验证需求,例如:1.内置了很多常用的验证方法:2.可以自定义错误显示信息:3.可以自定义错误显示位置: ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- Pyqt 动态的添加控件
Pyqt 动态的添加控件 # -*- coding: utf-8 -*- from PyQt4.QtCore import * from PyQt4.QtGui import * import sys ...
随机推荐
- C#调用C/C++动态库,封装各种复杂结构体
C#调用C/C++动态库,封装各种复杂结构体. 标签: c++结构内存typedefc# 2014-07-05 12:10 6571人阅读 评论(1) 收藏 举报 分类: C(8) C#(6) ...
- 【Educational Codeforces Round 37 E】Connected Components?
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] bfs. 用一个链表来记录哪些点已经确定在某一个联通快里了. 一开始每个点都能用. 然后从第一个点开始进行bfs. 然后对于它的所有 ...
- Web前端之基础知识
学习web前端开发基础技术须要掌握:HTML.CSS.Javascript 1.HTML是网页内容的载体 内容就是网页制作者放在页面上想要让用户浏览的信息,能够包括文字.图片.视频等. 2.CSS样式 ...
- 【LeetCode-面试算法经典-Java实现】【032-Longest Valid Parentheses(最长有效括号)】
[032-Longest Valid Parentheses(最长有效括号)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given a string contai ...
- STL 源代码剖析 算法 stl_algo.h -- search
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie search --------------------------------------- ...
- 手把手教你在VMware虚拟机中安装Ubuntu14.04系统
在VMware中创建完虚拟机之后,一般需要给虚拟机安装系统,比较受青睐的系统有Ubuntu和Centos,关于Centos系统的安装之前已经写过了,感兴趣的小伙伴可以戳这篇文章:靠谱的centos7. ...
- Vuejs2.0构建一个彩票查询WebAPP(3)
整个工程的目录及截图如下,源码下载 使用心得: 1.了解Vue的生命周期很有必要,详情参见博文Vue2.0 探索之路——生命周期和钩子函数的一些理解 2.Vuex全局状态管理真是美味不可言 st ...
- 关于【搭建LAMP环境时,php测试页面打不开】解决
关于[搭建LAMP环境时,php测试页面打不开]解决 〇.我的测试页面是: http://172.30.124.10/index.php 用火狐打不开,如下图. 一.httpd已经启动了(system ...
- 【2017 Multi-University Training Contest - Team 1 1011】KazaQ's Socks
[Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6043 [Description] 一个人壁橱里有n双袜子,每天早上取一双最小下标的袜子,然后晚上放 ...
- 一个project师该怎样高效工作
1. 静. 在千头万绪,百般push.各种IM电话邮件狂轰滥炸中保持一个静字.找到最适合如今做的事情,情绪不要被外界所干扰.一次仅仅做一件事,不要被打断. 有的公司土鳖文化严重,领导一会儿要求你干这 ...