package com.partynetwork.iparty.imessage; import android.content.Context; import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import android.widget.TextView; import com.partynetwork.dataprovider.util.ActionUtil; import com.partynetwork.iparty.R; import com.partynetwork.iparty.info.MessageTypeInfo; public class SystemMessageView { /** 当前view */ private View view; /** * 图标 */ private ImageView icon; /** * 标题 */ private TextView title; /** * 数量 */ private TextView number; /** 数据对象 */ private MessageTypeInfo info; /** 上下文 */ private Context mContext; public SystemMessageView(Context context) { mContext = context; view = LayoutInflater.from(context) .inflate(R.layout.message_item_system, null); init(); setListener(); } /** * */ private void setListener() { view.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { number.setVisibility(View.GONE); info.setMessageNumber(0); Intent intent = new Intent(mContext, MessageInfoActivity.class); intent.putExtra(MessageInfoActivity.MESSAGE_TYPE, info.getMessageType()); mContext.startActivity(intent); } }); } /** * 初始化 */ private void init() { initView(); } /** * 初始化控件 */ private void initView() { /** * 图标 */ icon = (ImageView) view.findViewById(R.id.icon); /** * 标题 */ title = (TextView) view.findViewById(R.id.title); /** * 数量 */ number = (TextView) view.findViewById(R.id.number); } /** * 初始化数据 */ private void ininData() { if (info == null) { return; } // 图标 int iconRes = 0; String title = ""; switch (info.getMessageType()) { case ActionUtil.Message.MESSAGE_TYPE_SYSTEM: iconRes = R.drawable.message_sys_notice_icon; title = "系统消息"; break; case ActionUtil.Message.MESSAGE_TYPE_PARTY: iconRes = R.drawable.message_sys_party_icon; title = "iParty提醒"; break; case ActionUtil.Message.MESSAGE_TYPE_GREET: iconRes = R.drawable.message_sys_hi_icon; title = "打招呼"; break; case ActionUtil.Message.MESSAGE_TYPE_FRIEND: iconRes = R.drawable.message_sys_friend_icon; title = "新的i好友"; break; case ActionUtil.Message.MESSAGE_TYPE_AT: iconRes = R.drawable.message_sys_at_icon; title = "提到我的"; break; case ActionUtil.Message.MESSAGE_TYPE_VOTE: iconRes = R.drawable.message_sys_vote_icon; title = "投票"; break; case ActionUtil.Message.MESSAGE_TYPE_DISCUSS: iconRes = R.drawable.message_sys_discuss_icon; title = "评论"; break; case ActionUtil.Message.MESSAGE_TYPE_PRAISE: iconRes = R.drawable.message_sys_praise_icon; title = "赞"; break; default: iconRes = R.drawable.message_sys_notice_icon; title = "系统消息"; break; } this.icon.setImageResource(iconRes); // 名称 this.title.setText(title); // 消息数量 int num = info.getMessageNumber(); if (num > 99) { num = 99; } if (num == 0) { this.number.setVisibility(View.GONE); } else { this.number.setText(num + ""); } } public void setInfo(MessageTypeInfo info) { this.info = info; ininData(); } /** * @return icon */ public ImageView getIcon() { return icon; } /** * @param icon * 要设置的 icon */ public void setIcon(ImageView icon) { this.icon = icon; } /** * @return title */ public TextView getTitle() { return title; } /** * @param title * 要设置的 title */ public void setTitle(TextView title) { this.title = title; } /** * @return number */ public TextView getNumber() { return number; } /** * @param number * 要设置的 number */ public void setNumber(TextView number) { this.number = number; } /** * 获得当前视图View */ public View getView() { return view; } }