Android 使用BaseAdapter 插入不同类型数据

  在使用过程有时要在listview中插入不同类型的数据,比如说position=0的位置插入,广告,其它列表显示数据的情况。

  一定要重写两种方法

  

@Override
    public int getItemViewType(int position) {
        Object object = bmobIMMessageList.get(position);
        if (object instanceof Integer) {
            return TYPE_BANNER;
        } else {
            return TYPE_DATA;
        }
    }

    @Override
    public int getViewTypeCount() {
        return 2;
    }

否则列表在复用convertview时会出错,无法精准复用,造成控件空指针异常。

Google了一下:

http://stackoverflow.com/questions/5300962/getviewtypecount-and-getitemviewtype-methods-of-arrayadapter

时间: 2024-08-03 04:16:31

Android 使用BaseAdapter 插入不同类型数据的相关文章

Jdbc插入date类型数据到oracle中

导入数据库jar包,路径如下: E:\oracle\product\10.1.0\Db_3\jdbc\lib\ojdbc14.jar 建表语句如下: create table t_user( id int primary key, username varchar(40), password varchar(16), phone varchar(40), address varchar(255), createdate date ) Jdbc代码如下: public void save(){ C

Android的Sqlite中DateTime类型数据的存取问题

关于讲sqlite中日期类型数据的存取网上有不少,但发现讲得这么细的非常少.更多的是用Date,不用做日期数据统计分析,对存取要求比较小的直接转换成long,即dateTime.getTime()存储.需要在界面上显示的时候就再将long型的日期数据转化为Date或DateTime类型.但是如果要做数据统计分析的话这样每条记录都要遍历转换会显得特别麻烦,数据量大的话时间消费是很大的. 我们知道Date类型数据在数据库中是yyyy-MM-dd形式存的,而Time是HH:mm形式存的.而DateTi

使用NamedParameterJdbcTemplate向oracle插入枚举类型数据

使用NamedParameterJdbcTemplate向数据库插入含有枚举类型数据的对象时会出现的JAVA和SQL类型不匹配的情况,例如对于如下的JAVA类定义和对应的Oracle表定义: 1 public class MetaPhysicColumn { 2 3 public enum DataType{NUMBER, STRING, DATE, TIMESTAMP} 4 5 private String id; 6 private String name; 7 private String

Oracle插入timestamp类型数据

表结构: create table TEST( ID INTEGER, BIRTHDAY TIMESTAMP ); 使用JDBC将日期插入到TIMESTAMP类型字段 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.text.SimpleDateFormat; import

Android java传递string类型数据给C

本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法,具体意义后面的文章将介绍 /** * 把一个jstring转换成一个c语言的char* 类型. */ char* _JString2CStr(JNIEnv* env, jstring jstr) { char* rtn = NULL; jclass clsstring = (*env)->FindCla

Android java传递int类型数据给C

本文根据<Android jni简便开发流程>中的开发流程来实现一个java传递int类型数据给C 新建项目,进行简单的布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&quo

android SQLite 批量插入数据慢的解决方案 (正对于不同的android api 版本)

SQLite,是一款轻型的数据库,被广泛的运用到很多嵌入式的产品中,因为占用的资源非常少,二其中的操作方式几乎和我们接触的数据库不多,甚至只有几百K的他自然会被需求者青睐,下面讲一下在这样的轻型数据库中怎么对他进行一些读写操作. 之前做选择联系人的时候出现如果一个手机里联系人超过2000的话,往数据库里面插入会非常耗时,不同的手机存储的条数不同,这个存储的数量和手机的内存有很大的关系,往往取决于手机内存,下面对于数据量大的情况来写一下sqlite的批量查询. SqLite 掺入数据有几种 第一种

Android基础:常用布局和数据存储

1. 相对布局RelativeLayout 特点:相对布局所有组件可以叠加在一起:各个组件的布局是独立的,互不影响:所有组件的默认位置都是在左上角(顶部.左部对齐) 属性 功能描述 android:layout_toRightOf 在指定控件的右边 android:layout_toLeftOf 在指定控件的左边 android:layout_above 在指定控件的上边 android:layout_below 在指定控件的下边 android:layout_alignBaseline 跟指定

Android开发之利用SQLite进行数据存储

Android开发之利用SQLite进行数据存储 Android开发之利用SQLite进行数据存储 SQLite数据库简单介绍 Android中怎样使用SQLite 1 创建SQLiteOpenHelper对象并创建表 2 通过SQLiteDatabase对象运行增删改查操作 3 SQLiteDatabase之事务transaction 1.SQLite数据库简单介绍 SQLite.是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包括在一个相对小的C库中.它是D.RichardHip