app第一阶段冲刺第六天
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/16178133.html
下面是个人主页的我的发布,我的粉丝,我的关注。
package com.linlang.grasharepro.activity; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.linlang.grasharepro.R; import com.linlang.grasharepro.adapter.MyCollectAdapter; import com.linlang.grasharepro.dao.CollectionDB; import com.linlang.grasharepro.dao.ShareCoentenDB; import com.linlang.grasharepro.model.MessageItem; import com.linlang.grasharepro.model.ShareCoenten; import com.linlang.grasharepro.utils.ListViewUitls; import com.linlang.grasharepro.view.ListViewCompat; import com.linlang.grasharepro.view.SlideView; import java.util.ArrayList; import java.util.List; public class MyCollectActivity extends Activity implements AdapterView.OnItemClickListener, View.OnClickListener, SlideView.OnSlideListener, ListViewCompat.OnRefreshListener, ListViewCompat.OnLoadListener { private ListViewCompat mListView; private List<MessageItem> mMessageItems = new ArrayList<MessageItem>(); private SlideView mLastSlideViewWithStatusOn; private SlideAdapter adapter; private int allCount = 40; private ShareCoentenDB shareCoentenDB; private CollectionDB collectionDB; private List<ShareCoenten> collect_list; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_mycollect); initView(); loadData(ListViewCompat.REFRESH); } public void initView() { mListView = (ListViewCompat) findViewById(R.id.lv_mycollect); adapter = new SlideAdapter(); mListView.setAdapter(adapter); mListView.setOnItemClickListener(this); mListView.setOnRefreshListener(this); mListView.setOnLoadListener(this); } private void loadData(final int what) { // 这里模拟从服务器获取数据 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(700); } catch (InterruptedException e) { e.printStackTrace(); } Message msg = handler.obtainMessage(); msg.what = what; // msg.obj = getData(); msg.obj = getMyCollect(); handler.sendMessage(msg); } }).start(); } // 测试数据 public List<MessageItem> getData() { List<MessageItem> result = new ArrayList<MessageItem>(); for (int i = 0; i < 10; i++) { MessageItem item = new MessageItem(); if (i % 3 == 0) { item.iconRes = R.drawable.delete_default_qq_avatar; item.title = "我的收藏"; item.msg = "毕业的日子越来越近了。"; item.time = "下午14:15"; } else { item.iconRes = R.drawable.delete_wechat_icon; item.title = "梦想启航"; item.msg = "毕业以来,有很多人很多事,见得多了也就很雷了。"; item.time = "12:28"; } result.add(item); } return result; } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { List<MessageItem> result = (List<MessageItem>) msg.obj; switch (msg.what) { case ListViewCompat.REFRESH: mListView.onRefreshComplete(); mMessageItems.clear(); mMessageItems.addAll(result); break; case ListViewCompat.LOAD: mListView.onLoadComplete(); mMessageItems.addAll(result); break; case 2: // mListView.onLoadComplete(); // Toast.makeText(MyCollectActivity.this, "已加载全部!", Toast.LENGTH_SHORT).show(); break; } mListView.setResultSize(result.size()); adapter.notifyDataSetChanged(); } ; }; private class SlideAdapter extends BaseAdapter { private LayoutInflater mInflater; SlideAdapter() { super(); mInflater = getLayoutInflater(); } @Override public int getCount() { return mMessageItems.size(); } @Override public Object getItem(int position) { return mMessageItems.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; SlideView slideView = (SlideView) convertView; if (slideView == null) { View itemView = mInflater.inflate(R.layout.item_listview_delete, null); slideView = new SlideView(MyCollectActivity.this); slideView.setContentView(itemView); holder = new ViewHolder(slideView); slideView.setOnSlideListener(MyCollectActivity.this); slideView.setTag(holder); } else { holder = (ViewHolder) slideView.getTag(); } final MessageItem item = mMessageItems.get(position); item.slideView = slideView; item.slideView.shrink(); // Bitmap bitmap = BitmapFactory.decodeResource(getResources(),item.iconRes); // Bitmap rebitmap = new Utils().toRoundBitmap(bitmap); holder.icon.setImageResource(item.iconRes); holder.title.setText(item.title); holder.msg.setText(item.msg); holder.time.setText(item.time); holder.deleteHolder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mMessageItems.remove(position); adapter.notifyDataSetChanged(); //删除我的收藏数据表 //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", ""); collectionDB= new CollectionDB(MyCollectActivity.this); collectionDB.open(); collectionDB.deleteByRelationId(item.id,account); // Toast.makeText(MyCollectActivity.this, "删除" + position + "个条", Toast.LENGTH_LONG).show(); } }); holder.edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { adapter.notifyDataSetChanged(); Toast.makeText(MyCollectActivity.this, "编辑" + position + "个条", Toast.LENGTH_LONG).show(); } }); return slideView; } } private static class ViewHolder { public ImageView icon; public TextView title; public TextView msg; public TextView time; public TextView deleteHolder; public TextView edit; ViewHolder(View view) { icon = (ImageView) view.findViewById(R.id.icon); title = (TextView) view.findViewById(R.id.title); msg = (TextView) view.findViewById(R.id.msg); time = (TextView) view.findViewById(R.id.time); deleteHolder = (TextView) view.findViewById(R.id.delete); edit = (TextView) view.findViewById(R.id.edit); } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } @Override public void onSlide(View view, int status) { if (mLastSlideViewWithStatusOn != null && mLastSlideViewWithStatusOn != view) { mLastSlideViewWithStatusOn.shrink(); } if (status == SLIDE_STATUS_ON) { mLastSlideViewWithStatusOn = (SlideView) view; } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.holder: break; default: break; } } @Override public void onLoad() { // TODO Auto-generated method stub if (adapter.getCount() < allCount) { loadData(ListViewCompat.LOAD); } else { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = mMessageItems; handler.sendMessage(msg); } } @Override public void onRefresh() { // TODO Auto-generated method stub loadData(ListViewCompat.REFRESH); } private List<MessageItem> getMyCollect() { List<MessageItem> result = new ArrayList<MessageItem>(); //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", ""); shareCoentenDB = new ShareCoentenDB(this); shareCoentenDB.open(); collect_list = shareCoentenDB.queryMyCollect(account); for (int i = 0; i < collect_list.size(); i++) { MessageItem item = new MessageItem(); // item.iconRes item.id = collect_list.get(i).get_id(); item.msg = collect_list.get(i).getContent(); item.title = collect_list.get(i).getTitle(); item.time = collect_list.get(i).getTime(); result.add(item); } return result; } }
package com.linlang.grasharepro.activity; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.linlang.grasharepro.R; import com.linlang.grasharepro.adapter.MyFansAdapter; import com.linlang.grasharepro.dao.CollectionDB; import com.linlang.grasharepro.dao.FansDB; import com.linlang.grasharepro.dao.ShareCoentenDB; import com.linlang.grasharepro.dao.UserDB; import com.linlang.grasharepro.model.MessageItem; import com.linlang.grasharepro.model.ShareCoenten; import com.linlang.grasharepro.model.User; import com.linlang.grasharepro.utils.ListViewUitls; import com.linlang.grasharepro.view.ListViewCompat; import com.linlang.grasharepro.view.SlideView; import java.util.ArrayList; import java.util.List; public class MyFansActivity extends Activity implements AdapterView.OnItemClickListener, View.OnClickListener, SlideView.OnSlideListener, ListViewCompat.OnRefreshListener, ListViewCompat.OnLoadListener { private ListViewCompat mListView; private List<MessageItem> mMessageItems = new ArrayList<MessageItem>(); private SlideView mLastSlideViewWithStatusOn; private SlideAdapter adapter; private int allCount = 40; private ArrayList<User> users = new ArrayList<User>(); private UserDB userDB; private FansDB fansDB; private ShareCoenten info = null; String account = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_myfans); // 获取从列表当中传递过来的数据 Intent intent = getIntent(); Bundle bund = intent.getExtras(); if (bund != null && bund.getSerializable("shareContent") != null){ info = (ShareCoenten) bund.getSerializable("shareContent"); } initView(); loadData(ListViewCompat.REFRESH); } public void initView() { mListView = (ListViewCompat) findViewById(R.id.lv_myfans); adapter = new SlideAdapter(); mListView.setAdapter(adapter); mListView.setOnItemClickListener(this); mListView.setOnRefreshListener(this); mListView.setOnLoadListener(this); } private void loadData(final int what) { // 这里模拟从服务器获取数据 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(700); } catch (InterruptedException e) { e.printStackTrace(); } Message msg = handler.obtainMessage(); msg.what = what; msg.obj = getMyFanses(); handler.sendMessage(msg); } }).start(); } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { List<MessageItem> result = (List<MessageItem>) msg.obj; switch (msg.what) { case ListViewCompat.REFRESH: mListView.onRefreshComplete(); mMessageItems.clear(); mMessageItems.addAll(result); break; case ListViewCompat.LOAD: mListView.onLoadComplete(); mMessageItems.addAll(result); break; case 2: // mListView.onLoadComplete(); // Toast.makeText(MyCollectActivity.this, "已加载全部!", Toast.LENGTH_SHORT).show(); break; } mListView.setResultSize(result.size()); adapter.notifyDataSetChanged(); } ; }; private class SlideAdapter extends BaseAdapter { private LayoutInflater mInflater; SlideAdapter() { super(); mInflater = getLayoutInflater(); } @Override public int getCount() { return mMessageItems.size(); } @Override public Object getItem(int position) { return mMessageItems.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; SlideView slideView = (SlideView) convertView; if (slideView == null) { View itemView = mInflater.inflate(R.layout.item_listview_delete, null); slideView = new SlideView(MyFansActivity.this); slideView.setContentView(itemView); holder = new ViewHolder(slideView); slideView.setOnSlideListener(MyFansActivity.this); slideView.setTag(holder); } else { holder = (ViewHolder) slideView.getTag(); } final MessageItem item = mMessageItems.get(position); item.slideView = slideView; item.slideView.shrink(); // Bitmap bitmap = BitmapFactory.decodeResource(getResources(),item.iconRes); // Bitmap rebitmap = new Utils().toRoundBitmap(bitmap); holder.icon.setImageResource(item.iconRes); holder.title.setText(item.title); holder.msg.setText(item.msg); holder.time.setText(item.time); holder.deleteHolder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mMessageItems.remove(position); adapter.notifyDataSetChanged(); //删除我的收藏数据表 //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", ""); fansDB = new FansDB(MyFansActivity.this); fansDB.open(); fansDB.deleteByRelationId(item.id, account); } }); holder.edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { adapter.notifyDataSetChanged(); Toast.makeText(MyFansActivity.this, "编辑" + position + "个条", Toast.LENGTH_LONG).show(); } }); return slideView; } } private static class ViewHolder { public ImageView icon; public TextView title; public TextView msg; public TextView time; public TextView deleteHolder; public TextView edit; ViewHolder(View view) { icon = (ImageView) view.findViewById(R.id.icon); title = (TextView) view.findViewById(R.id.title); msg = (TextView) view.findViewById(R.id.msg); time = (TextView) view.findViewById(R.id.time); deleteHolder = (TextView) view.findViewById(R.id.delete); edit = (TextView) view.findViewById(R.id.edit); } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } @Override public void onSlide(View view, int status) { if (mLastSlideViewWithStatusOn != null && mLastSlideViewWithStatusOn != view) { mLastSlideViewWithStatusOn.shrink(); } if (status == SLIDE_STATUS_ON) { mLastSlideViewWithStatusOn = (SlideView) view; } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.holder: break; default: break; } } @Override public void onLoad() { // TODO Auto-generated method stub if (adapter.getCount() < allCount) { loadData(ListViewCompat.LOAD); } else { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = mMessageItems; handler.sendMessage(msg); } } @Override public void onRefresh() { // TODO Auto-generated method stub loadData(ListViewCompat.REFRESH); } private List<MessageItem> getMyFanses() { List<MessageItem> result = new ArrayList<MessageItem>(); //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); if (info != null && (info.getUserName() != null || info.getUserName() != "")) { account = info.getUserName(); } else { account = preferences.getString("account", ""); } userDB = new UserDB(this); userDB.open(); users = userDB.queryMyFans(account); for (int i = 0; i < users.size(); i++) { MessageItem item = new MessageItem(); item.id = users.get(i).get_Id(); item.msg = users.get(i).getIntroduction(); item.title = users.get(i).getLoginName(); item.time = users.get(i).getBirthday(); result.add(item); } return result; } }
package com.linlang.grasharepro.activity; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.linlang.grasharepro.R; import com.linlang.grasharepro.adapter.MyCollectAdapter; import com.linlang.grasharepro.adapter.MyFollowAdapter; import com.linlang.grasharepro.dao.CollectionDB; import com.linlang.grasharepro.dao.FansDB; import com.linlang.grasharepro.dao.FollowDB; import com.linlang.grasharepro.dao.ShareCoentenDB; import com.linlang.grasharepro.dao.UserDB; import com.linlang.grasharepro.model.MessageItem; import com.linlang.grasharepro.model.ShareCoenten; import com.linlang.grasharepro.model.User; import com.linlang.grasharepro.utils.ListViewUitls; import com.linlang.grasharepro.view.ListViewCompat; import com.linlang.grasharepro.view.SlideView; import java.util.ArrayList; import java.util.List; public class MyFollowActivity extends Activity implements AdapterView.OnItemClickListener, View.OnClickListener, SlideView.OnSlideListener, ListViewCompat.OnRefreshListener, ListViewCompat.OnLoadListener { private ListViewCompat mListView; private List<MessageItem> mMessageItems = new ArrayList<MessageItem>(); private SlideView mLastSlideViewWithStatusOn; private SlideAdapter adapter; private int allCount = 40; private ArrayList<User> users = new ArrayList<User>(); private UserDB userDB; private FollowDB followDB; private ShareCoenten info = null; String account = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_myfollow); // 获取从列表当中传递过来的数据 Intent intent = getIntent(); Bundle bund = intent.getExtras(); if (bund != null && bund.getSerializable("shareContent") != null){ info = (ShareCoenten) bund.getSerializable("shareContent"); } loadData(ListViewCompat.REFRESH); initView(); } public void initView() { mListView = (ListViewCompat) findViewById(R.id.lv_myfollow); adapter = new SlideAdapter(); mListView.setAdapter(adapter); mListView.setOnItemClickListener(this); mListView.setOnRefreshListener(this); mListView.setOnLoadListener(this); } private void loadData(final int what) { // 这里模拟从服务器获取数据 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(700); } catch (InterruptedException e) { e.printStackTrace(); } Message msg = handler.obtainMessage(); msg.what = what; msg.obj = getMyFollows(); handler.sendMessage(msg); } }).start(); } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { List<MessageItem> result = (List<MessageItem>) msg.obj; switch (msg.what) { case ListViewCompat.REFRESH: mListView.onRefreshComplete(); mMessageItems.clear(); mMessageItems.addAll(result); break; case ListViewCompat.LOAD: mListView.onLoadComplete(); mMessageItems.addAll(result); break; case 2: // mListView.onLoadComplete(); // Toast.makeText(MyCollectActivity.this, "已加载全部!", Toast.LENGTH_SHORT).show(); break; } mListView.setResultSize(result.size()); adapter.notifyDataSetChanged(); } ; }; private class SlideAdapter extends BaseAdapter { private LayoutInflater mInflater; SlideAdapter() { super(); mInflater = getLayoutInflater(); } @Override public int getCount() { return mMessageItems.size(); } @Override public Object getItem(int position) { return mMessageItems.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; SlideView slideView = (SlideView) convertView; if (slideView == null) { View itemView = mInflater.inflate(R.layout.item_listview_delete, null); slideView = new SlideView(MyFollowActivity.this); slideView.setContentView(itemView); holder = new ViewHolder(slideView); slideView.setOnSlideListener(MyFollowActivity.this); slideView.setTag(holder); } else { holder = (ViewHolder) slideView.getTag(); } final MessageItem item = mMessageItems.get(position); item.slideView = slideView; item.slideView.shrink(); // Bitmap bitmap = BitmapFactory.decodeResource(getResources(),item.iconRes); // Bitmap rebitmap = new Utils().toRoundBitmap(bitmap); holder.icon.setImageResource(item.iconRes); holder.title.setText(item.title); holder.msg.setText(item.msg); holder.time.setText(item.time); holder.deleteHolder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mMessageItems.remove(position); adapter.notifyDataSetChanged(); //删除我的收藏数据表 //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", ""); followDB = new FollowDB(MyFollowActivity.this); followDB.open(); followDB.deleteByRelationId(item.id, account); } }); holder.edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { adapter.notifyDataSetChanged(); Toast.makeText(MyFollowActivity.this, "编辑" + position + "个条", Toast.LENGTH_LONG).show(); } }); return slideView; } } private static class ViewHolder { public ImageView icon; public TextView title; public TextView msg; public TextView time; public TextView deleteHolder; public TextView edit; ViewHolder(View view) { icon = (ImageView) view.findViewById(R.id.icon); title = (TextView) view.findViewById(R.id.title); msg = (TextView) view.findViewById(R.id.msg); time = (TextView) view.findViewById(R.id.time); deleteHolder = (TextView) view.findViewById(R.id.delete); edit = (TextView) view.findViewById(R.id.edit); } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } @Override public void onSlide(View view, int status) { if (mLastSlideViewWithStatusOn != null && mLastSlideViewWithStatusOn != view) { mLastSlideViewWithStatusOn.shrink(); } if (status == SLIDE_STATUS_ON) { mLastSlideViewWithStatusOn = (SlideView) view; } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.holder: break; default: break; } } @Override public void onLoad() { // TODO Auto-generated method stub if (adapter.getCount() < allCount) { loadData(ListViewCompat.LOAD); } else { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = mMessageItems; handler.sendMessage(msg); } } @Override public void onRefresh() { // TODO Auto-generated method stub loadData(ListViewCompat.REFRESH); } private List<MessageItem> getMyFollows() { List<MessageItem> result = new ArrayList<MessageItem>(); //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); if(info != null && (info.getUserName() != null || info.getUserName() != "")){ account = info.getUserName(); }else{ account = preferences.getString("account", ""); } userDB = new UserDB(this); userDB.open(); users = userDB.queryMyFollow(account); for (int i = 0; i < users.size(); i++) { MessageItem item = new MessageItem(); item.id = users.get(i).get_Id(); item.msg = users.get(i).getIntroduction(); item.title = users.get(i).getLoginName(); item.time = users.get(i).getBirthday(); result.add(item); } return result; } }
package com.linlang.grasharepro.activity; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.linlang.grasharepro.R; import com.linlang.grasharepro.adapter.MyShareAdapter; import com.linlang.grasharepro.dao.FollowDB; import com.linlang.grasharepro.dao.MyShareDB; import com.linlang.grasharepro.dao.ShareCoentenDB; import com.linlang.grasharepro.dao.UserDB; import com.linlang.grasharepro.model.MessageItem; import com.linlang.grasharepro.model.ShareCoenten; import com.linlang.grasharepro.utils.ListViewUitls; import com.linlang.grasharepro.view.ListViewCompat; import com.linlang.grasharepro.view.SlideView; import java.util.ArrayList; import java.util.List; public class MyShareActivity extends Activity implements AdapterView.OnItemClickListener, View.OnClickListener, SlideView.OnSlideListener, ListViewCompat.OnRefreshListener, ListViewCompat.OnLoadListener{ private ListViewCompat mListView; private List<MessageItem> mMessageItems = new ArrayList<MessageItem>(); private SlideView mLastSlideViewWithStatusOn; private SlideAdapter adapter; private int allCount = 40; private ArrayList<ShareCoenten> collect_list = new ArrayList<ShareCoenten>(); private ShareCoentenDB shareCoentenDB; private ShareCoentenDB myShareDB; private ShareCoenten info = null; String account = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mysharecontent); // 获取从列表当中传递过来的数据 Intent intent = getIntent(); Bundle bund = intent.getExtras(); if (bund != null && bund.getSerializable("shareContent") != null){ info = (ShareCoenten) bund.getSerializable("shareContent"); } initView(); loadData(ListViewCompat.REFRESH); } public void initView() { mListView = (ListViewCompat) findViewById(R.id.lv_myshare); adapter = new SlideAdapter(); mListView.setAdapter(adapter); mListView.setOnItemClickListener(this); mListView.setOnRefreshListener(this); mListView.setOnLoadListener(this); } private void loadData(final int what) { // 这里模拟从服务器获取数据 new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(700); } catch (InterruptedException e) { e.printStackTrace(); } Message msg = handler.obtainMessage(); msg.what = what; msg.obj = getMyShares(); handler.sendMessage(msg); } }).start(); } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { List<MessageItem> result = (List<MessageItem>) msg.obj; switch (msg.what) { case ListViewCompat.REFRESH: mListView.onRefreshComplete(); mMessageItems.clear(); mMessageItems.addAll(result); break; case ListViewCompat.LOAD: mListView.onLoadComplete(); mMessageItems.addAll(result); break; case 2: // mListView.onLoadComplete(); // Toast.makeText(MyCollectActivity.this, "已加载全部!", Toast.LENGTH_SHORT).show(); break; } mListView.setResultSize(result.size()); adapter.notifyDataSetChanged(); } ; }; private class SlideAdapter extends BaseAdapter { private LayoutInflater mInflater; SlideAdapter() { super(); mInflater = getLayoutInflater(); } @Override public int getCount() { return mMessageItems.size(); } @Override public Object getItem(int position) { return mMessageItems.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; SlideView slideView = (SlideView) convertView; if (slideView == null) { View itemView = mInflater.inflate(R.layout.item_listview_delete, null); slideView = new SlideView(MyShareActivity.this); slideView.setContentView(itemView); holder = new ViewHolder(slideView); slideView.setOnSlideListener(MyShareActivity.this); slideView.setTag(holder); } else { holder = (ViewHolder) slideView.getTag(); } final MessageItem item = mMessageItems.get(position); item.slideView = slideView; item.slideView.shrink(); // Bitmap bitmap = BitmapFactory.decodeResource(getResources(),item.iconRes); // Bitmap rebitmap = new Utils().toRoundBitmap(bitmap); holder.icon.setImageResource(item.iconRes); holder.title.setText(item.title); holder.msg.setText(item.msg); holder.time.setText(item.time); holder.deleteHolder.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mMessageItems.remove(position); adapter.notifyDataSetChanged(); //删除我的收藏数据表 //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", ""); myShareDB = new ShareCoentenDB(MyShareActivity.this); myShareDB.open(); myShareDB.deleteById(item.id); } }); holder.edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { adapter.notifyDataSetChanged(); Toast.makeText(MyShareActivity.this, "编辑" + position + "个条", Toast.LENGTH_LONG).show(); } }); return slideView; } } private static class ViewHolder { public ImageView icon; public TextView title; public TextView msg; public TextView time; public TextView deleteHolder; public TextView edit; ViewHolder(View view) { icon = (ImageView) view.findViewById(R.id.icon); title = (TextView) view.findViewById(R.id.title); msg = (TextView) view.findViewById(R.id.msg); time = (TextView) view.findViewById(R.id.time); deleteHolder = (TextView) view.findViewById(R.id.delete); edit = (TextView) view.findViewById(R.id.edit); } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } @Override public void onSlide(View view, int status) { if (mLastSlideViewWithStatusOn != null && mLastSlideViewWithStatusOn != view) { mLastSlideViewWithStatusOn.shrink(); } if (status == SLIDE_STATUS_ON) { mLastSlideViewWithStatusOn = (SlideView) view; } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.holder: break; default: break; } } @Override public void onLoad() { // TODO Auto-generated method stub if (adapter.getCount() < allCount) { loadData(ListViewCompat.LOAD); } else { Message msg = handler.obtainMessage(); msg.what = 2; msg.obj = mMessageItems; handler.sendMessage(msg); } } @Override public void onRefresh() { // TODO Auto-generated method stub loadData(ListViewCompat.REFRESH); } private List<MessageItem> getMyShares() { List<MessageItem> result = new ArrayList<MessageItem>(); //获取用户登陆信息 SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); if (info != null && (info.getUserName() != null || info.getUserName() != "")) { account = info.getUserName(); } else { account = preferences.getString("account", ""); } shareCoentenDB = new ShareCoentenDB(this); shareCoentenDB.open(); collect_list = shareCoentenDB.queryByWhere(account); for (int i = 0; i < collect_list.size(); i++) { MessageItem item = new MessageItem(); item.id = collect_list.get(i).get_id(); item.msg = collect_list.get(i).getContent(); item.title = collect_list.get(i).getTitle(); item.time = collect_list.get(i).getTime(); result.add(item); } return result; } }
明天继续写个人资料的活动文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」