今天在做一个功能的时候,要求必须是在一个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- 最后一行添加控件的更多相关文章

  1. winfrom如何在listview中添加控件

    private Button btn = new Button(); private void Form1_Load(object sender, EventArgs e) { ListViewIte ...

  2. winform导入导出excel,后台动态添加控件

    思路: 导入: 1,初始化一个OpenFileDialog类 (OpenFileDialog fileDialog = new OpenFileDialog();) 2, 获取用户选择文件的后缀名(s ...

  3. android 在布局中动态添加控件

    第一步 final LayoutInflater inflater = LayoutInflater.from(this); 第二步:获取需要被添加控件的布局 final LinearLayout l ...

  4. 怎样在不对控件类型进行硬编码的情况下在 C#vs 中动态添加控件

    文章ID: 815780 最近更新: 2004-1-12 这篇文章中的信息适用于: Microsoft Visual C# .NET 2003 标准版 Microsoft Visual C# .NET ...

  5. JQuery动态添加控件并取值

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 给jquery-validation插件添加控件的验证回调方法

    jquery-validation.js在前端验证中使用起来非常方便,提供的功能基本上能满足大部分验证需求,例如:1.内置了很多常用的验证方法:2.可以自定义错误显示信息:3.可以自定义错误显示位置: ...

  7. winform 用户控件、 动态创建添加控件、timer控件、控件联动

    用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...

  8. WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日

    好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3       0 0     用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...

  9. Pyqt 动态的添加控件

    Pyqt 动态的添加控件 # -*- coding: utf-8 -*- from PyQt4.QtCore import * from PyQt4.QtGui import * import sys ...

随机推荐

  1. PKU 2528 Mayor's posters

    题意: 一个公告板上面贴海报,宽度都是一样的,长度可能不一样.后面的海报可能把前面的覆盖掉.问最后能看见多少张不同的海报. 思路: 这题原来做过,是用线段树的区间染色写的.记录每个区间是纯色还是杂色. ...

  2. Unity Shader (二)Cg语言

    一.Cg基本数据类型 float 32位浮点数 half 16位浮点数 int 32位整型 fixed 12位定点数 bool 布尔数据 simpler* 纹理对象的句柄( the handle to ...

  3. IOS开发之蘑菇街框架

    近期公司的项目全然仿了蘑菇街client的框架,自己从网上找了一下,没有发现源代码.问遍各大QQ群也没有结果.上周五晚上一直在思考这个框架怎样搭建,周六早上有了灵感.写了一半.今天接着完好了一下. 在 ...

  4. 网络芯片应用:GPS公交车行驶记录仪

    项目描写叙述 佛罗里达大学学生 Miles Moody 使用WIZnet W5200以太网插板及Arduino Nano剖析了来自一个当地网页服务的HTML代码,并讲述了他每天带着公交车实时GPS坐标 ...

  5. 【Linux】JDK+Eclipse 搭建C/C++开发环境

    注:本文所提供的参考示例是在CentOS Linux环境下的安装,不保证适用于其他版本的Linux系统. ·    安装前的注意事项 编译源代码是需要对应的代码编译工具的,本文中安装的Eclipse只 ...

  6. HDU 1512 左偏树+并查集

    思路: 左偏树里面掺了一些并查集的应用 这里放一份左偏树的代码模板 重点就是merge函数了-- int merge(int k1,int k2){ if(!k1||!k2)return k1+k2; ...

  7. VC眼中的众筹平台:将改变VC募集基金方式,成为下一个纳斯达克市场

    “一个好的投资平台可能会成为像纳斯达克一样的市场”,这是投资人给予众筹平台的未来憧憬. ”从长远的角度来说,众筹平台可能会改变VC募集基金的方式“,戈壁投资合伙人蒋涛说,“从二级市场看,不论是企业的I ...

  8. 实现人脸识别性别之路---网页上的video标签

    <video> 元素支持三种视频格式: MP4, WebM, 和 Ogg.但是,不同的浏览器对视频格式的支持也不一致,因此为了让浏览器都适应,我们使用source属性来对视频文件格式定义 ...

  9. iscsi共享存储的简单配置和应用

    1.环境介绍 SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议.从根本上说,iSCSI协议是一种利用IP网络来 ...

  10. CCF模拟 I’m stuck!

    I’m stuck! 时间限制: 1.0s 内存限制: 256.0MB   问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S', 'T'七 ...