package com.cqotc.zlt.adapter;

 

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

 

import com.ab.util.AbDateUtil;

import com.cqotc.zlt.R;

import com.cqotc.zlt.bean.EventType;

import com.cqotc.zlt.bean.NoticeBean;

import com.cqotc.zlt.http.NHIL;

import com.cqotc.zlt.http.StringHttpResponseListener;

import com.cqotc.zlt.utils.image.ImageUtil;

import com.cqotc.zlt.view.ScaleImageView;

 

import java.util.List;

 

import de.greenrobot.event.EventBus;

 

/**

* Created by Administrator on 2016/3/28.

*/

public class ActiveMessageAdapter extends BaseAdapter {

private Context mContext;

private List mBeans = null;

private OnClickListener mOnClickListener;

 

public ActiveMessageAdapter(Context mContext) {

this.mContext = mContext;

}

 

public void setData(List data) {

mBeans = data;

notifyDataSetChanged();

}

 

public void setListener(OnClickListener listener) {

mOnClickListener = listener;

}

 

@Override

public int getCount() {

if (mBeans != null) {

return mBeans.size();

}

return 0;

}

 

@Override

public NoticeBean getItem(int position) {

return mBeans.get(position);

}

 

@Override

public long getItemId(int position) {

return position;

}

 

@Override

public View getView(final int position, View convertView, ViewGroup parent) {

ViewHolder viewHolder = null;

final NoticeBean bean = mBeans.get(position);

if (convertView == null) {

convertView = LayoutInflater.from(mContext).inflate(R.layout.item_active_notice, null);

viewHolder = new ViewHolder(convertView);

convertView.setTag(viewHolder);

} else {

viewHolder = (ViewHolder) convertView.getTag();

}

viewHolder.idTitleTv.setText(bean.getTitle());

viewHolder.idDescribeTv.setText(bean.getDescription());

viewHolder.idTimeTv.setText(AbDateUtil.getStringByFormat(bean.getPublishTime(), AbDateUtil.dateFormatYMD));

ImageUtil.display(mContext, bean.getHeadImg(), viewHolder.idImageview);

 

if(bean.isIsRead()) {

viewHolder.viewUnreadSpace.setVisibility(View.GONE);

viewHolder.idUnread.setVisibility(View.GONE);

} else {

viewHolder.viewUnreadSpace.setVisibility(View.VISIBLE);

viewHolder.idUnread.setVisibility(View.VISIBLE);

}

 

convertView.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if (!bean.isIsRead()) {

setItemIsReaded(bean);

}

if (mOnClickListener != null) {

mOnClickListener.clickItem(bean);

}

}

});

return convertView;

}

 

private void setItemIsReaded(final NoticeBean noticeBean) {

NHIL.setNoticeRead(mContext, noticeBean.getNoticeCode(), new StringHttpResponseListener() {

@Override

public void onSuccess(int statusCode, String content) {

noticeBean.setIsRead(true);

notifyDataSetChanged();

EventBus.getDefault().post(EventType.MESSAGE_COUNT);

}

 

@Override

public void onFailure(int statusCode, String content) {

 

}

 

});

}

 

public interface OnClickListener {

void clickItem(NoticeBean noticeBean);

}

 

static class ViewHolder {

protected View viewUnreadSpace;

protected TextView idTitleTv;

protected TextView idTimeTv;

protected ScaleImageView idImageview;

protected TextView idDescribeTv;

protected TextView idUnread;

 

ViewHolder(View rootView) {

initView(rootView);

}

 

private void initView(View rootView) {

viewUnreadSpace = rootView.findViewById(R.id.view_unread_space);

idTitleTv = (TextView) rootView.findViewById(R.id.id_title_tv);

idTimeTv = (TextView) rootView.findViewById(R.id.id_time_tv);

idImageview = (ScaleImageView) rootView.findViewById(R.id.id_imageview);

idDescribeTv = (TextView) rootView.findViewById(R.id.id_describe_tv);

idUnread = (TextView) rootView.findViewById(R.id.id_unread);

}

}

}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android(安卓)ormlite 框架介绍
  2. android 无线连接eclipse
  3. Android(安卓)Audio
  4. Android判断Intent是否存在,是否可用
  5. Android——继承SimpleAdapter重写自己的
  6. android LinearLayout 动态添加子View
  7. Android(安卓)编程下 Touch 事件的分发和
  8. Android(安卓)百度地图笔记
  9. android wifi 处理
  10. android XML文件序列化