i using cursoradapter , viewholder upload data database listview. need dynamically add custom item bottom of listview without using cursoradapter(not database) , after - update listview.
here cursoradapter:
public class mycustomcursoradapter extends cursoradapter { private static final int view_type_count = 2; public static final int view_type_input = 1; public static final int view_type_output = 2; public static class viewholder { public final circularimageview mavatar; public final imageview mlanstatus; public final textview minputmessage; public final textview mdate; public viewholder(view view){ mavatar = (circularimageview) view.findviewbyid(r.id.circularimageview_itemdialog_useravatar); mlanstatus = (imageview)view.findviewbyid(r.id.imageview_itemdialog_lanstatus); minputmessage = (textview) view.findviewbyid(r.id.textview_itemdialog_message); mdate = (textview) view.findviewbyid(r.id.textview_itemdialog_time); } } public dialogadapter(activity activity, cursor c, int flag) { super(activity, c, flag); mactivity = activity; } @override public view newview(context context, cursor cursor, viewgroup parent) { int layoutid; if (mviewtype == view_type_message_output){ layoutid = r.layout.list_item_dialog_message_output; } else { layoutid = r.layout.list_item_dialog_message_input; } view rootview = layoutinflater.from(context).inflate(layoutid, parent, false); mviewholder = new viewholder(rootview); rootview.settag(mviewholder); return rootview; } @override public void bindview(view view, context context, cursor cursor) { mviewholder = (viewholder) view.gettag(); mmessageid = cursor.getstring(dialogactivityfragment.col_message_id); string message = cursor.getstring(dialogactivityfragment.col_body); string messagedate = cursor.getstring(dialogactivityfragment.col_date); string avatarurl = cursor.getstring(dialogactivityfragment.col_avatar_url); int onlinestatus = cursor.getint(dialogactivityfragment.col_online_status); uploaduseravatar(avatarurl, onlinestatus); setusermessagedata(message, messagedate); } @override public int getviewtypecount(){ return view_type_count; } @override public int getitemviewtype(int position) { cursor cursor = (cursor)getitem(position); return getitemviewtype(cursor); } private int getitemviewtype(cursor cursor) { int mainuserid = sharedprefsclass.getuserid(mactivity); int opponentuserid = cursor.getint(dialogactivityfragment.col_user_id); if (mainuserid == opponentuserid){ mviewtype = view_type_message_output; } else { mviewtype = view_type_message_input; } return mviewtype; } will glad solution! thanks!
Comments
Post a Comment