一个ListView怎么展示两种样式

private class MyBaseMsgAdapter extends BaseAdapter {    //获取数据适配器中条目类型的总数,修改成两种(纯文本,输入+文字)    @Override    public int getViewTypeCount() {        //条目类型数(这里有两种类型)        return super.getViewTypeCount() + 1;    }

    //指定索引指向的条目类型,条目类型指定(0(复用系统),1)    @Override    public int getItemViewType(int position) {        if (position == 0) {            //返回0,表示纯文本的状态码            return 0;        } else {            //返回1,表示输入+文字的状态码            return 1;        }    }

    @Override    public int getCount() {        return mTitleContent.length;    }

    @Override    public String getItem(int position) {        return mTitleContent[position];    }

    @Override    public long getItemId(int position) {        return position;    }

    @Override    public View getView(int position, View convertView, ViewGroup parent) {        int type = getItemViewType(position);        if (type == 0) {            View v = null;            ViewHolder mViewHolder = null;            if (convertView == null) {                mViewHolder = new ViewHolder();                v = View.inflate(getApplicationContext(), R.layout.item_loan_base_title, null);                mViewHolder.tv_base = (TextView) v.findViewById(R.id.tv_base);                v.setTag(mViewHolder);            } else {                v = convertView;                mViewHolder = (ViewHolder) v.getTag();            }            mViewHolder.tv_base.setText(mTitleContent[position]);            return v;        } else {            View v = null;            ViewHolder mViewHolder = null;            if (convertView == null) {                mViewHolder = new ViewHolder();                v = View.inflate(getApplicationContext(), R.layout.item_loan_application, null);                mViewHolder.tv_base_title = (TextView) v.findViewById(R.id.tv_base_title);                mViewHolder.et_base_input = (EditText) v.findViewById(R.id.et_base_input);            } else {                v = convertView;                mViewHolder = (ViewHolder) v.getTag();            }            mViewHolder.tv_base_title.setText(mTitleContent[position]);            mViewHolder.et_base_input.setHint(mInputContent[position]);            return v;        }    }}

class ViewHolder {    private TextView tv_base;    private EditText et_base_input;    private TextView tv_base_title;}这里面有一个问题,就是在模拟器上面如果ListView给定的太小,文字放不下,那么就可以滑动!但是大家都知道,鼠标可以直接滑动,当鼠标不选中滑动的话,程序就挂掉了,然后选中又没事。于是我就在真机上测试,也没问题,那么问题来了,这个错误是怎么造成的呢?两种可能嘛,1.模拟器的问题,2.代码的问题。这个问题还没解决,等解决了再继续更......
时间: 2024-07-29 15:59:23

一个ListView怎么展示两种样式的相关文章

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT is SELECT ID,UNAME from g_users where utype=2 and STATUS>-1; begin for c in TABLE_DEPT loop INSERT INTO G_KNOWDOCRIGHT(RID,DIRID,DOCID,USERID) VALUES(SYS

.NET一个线程更新另一个线程的UI(两种实现方法及若干简化)

Winform中的控件是绑定到特定的线程的(一般是主线程),这意味着从另一个线程更新主线程的控件不能直接调用该控件的成员. 控件绑定到特定的线程这个概念如下: 为了从另一个线程更新主线程的Windows Form控件,可用的方法有: 首先用一个简单的程序来示例,这个程序的功能是:在Winfrom窗体上,通过多线程用label显示时间.给出下面的两种实现方式 1.结合使用特定控件的如下成员 InvokeRequired属性:返回一个bool值,指示调用者在不同的线程上调用控件时是否必须使用Invo

基于mvcpager的分页(get请求,刷新页面),提供两种样式(来自bootstrap的样式)

使用方法:先把mvcpager.dll引用加入mvc项目 下载路径在本文末尾 前台代码 前台: @{ Layout = null; } @using Webdiyer.WebControls.Mvc @model PagedList<string> <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /&

C#把某个数组的一部分复制到另一个数组中的两种方法:Buffer.BlockCopy和Array.Copy

static void Main(string[] args) { int[] src = new[] { 1, 2, 3, 4, 5, 6 }; const int destLen = 4;//目标数组大小 int int_size = sizeof(int);//用于获取值类型的字节大小. int[] dest = new int[destLen]; //只支持基元类型,按字节偏移复制 Buffer.BlockCopy(src, (src.Length - destLen) * int_si

bootstrap3中关于布局的两种样式

container:用.container包裹的内容即可实现居中对齐.注意,由于在各分辨率下面都设置了padding 和 固定宽度,.container不能嵌套.row:栏栅系统是把父容器平均分为12列.注意,row可以被嵌套. 通过下表可以详细查看Bootstrap的栅格系统如何在多种屏幕设备上工作的.   超小屏幕设备 手机 (<768px) 小屏幕设备 平板 (≥768px) 中等屏幕设备 桌面 (≥992px) 大屏幕设备 桌面 (≥1200px) 栅格系统行为 总是水平排列 开始是堆叠

帝国cms 列表内容模板两种样式切换遍历

if($no%2 != 0) { $lstemp='<li> <div class="case-l fl fadeInDown wow"> <img src="'.$r[titlepic].'"> </div> <div class="case-r fr fadeInUp wow" data-wow-delay="0.5s"> <div class="

salesforce lightning零基础学习(七) 列表展示数据时两种自定义编辑页面

上一篇Lightning内容描述的是LDS,通过LDS可以很方便的实例化一个对象的数据信息.当我们通过列表展示数据需要编辑时,我们常使用两种方式去处理编辑页面:Pop Up Window弹出修改详情以及在本页面隐藏详情页面显示编辑页面. 实现这个功能以前主要需要先了解几个标签: lightning:recordForm: 此标签允许用户快速的创建一个form去查看,添加以及修改一条记录.集合了 lightning:recordEditForm 以及 lightning:recordViewFor

(转)java创建线程的两种方法比较

Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法:  ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法. 为什么Java要提供两种方法来创建线程呢?它们都有哪些区别?相比而言,哪一种方法更好呢? 在Java中,类仅支持单继承

java:常用的两种设计模式(单例模式和工厂模式)

一.单例模式:即一个类由始至终只有一个实例.有两种实现方式(1)定义一个类,它的构造方法是私有的,有一个私有的静态的该类的变量在初始化的时候就实例化,通过一个公有的静态的方法获取该对象.Java代码 1. //单例模式的第一种形式    2. public class Singleton01 {    3.    4.     // 私有的静态属性    5.     private static Singleton01 instance = new Singleton01();    6.