Search in sources :

Example 1 with SwipeLayout

use of com.juns.wechat.widght.swipe.SwipeLayout in project wechat by motianhuo.

the class SwipeItemMangerImpl method updateConvertView.

public void updateConvertView(View target, int position) {
    int resId = getSwipeLayoutId(position);
    SwipeLayout swipeLayout = (SwipeLayout) target.findViewById(resId);
    if (swipeLayout == null)
        throw new IllegalStateException("can not find SwipeLayout in target view");
    ValueBox valueBox = (ValueBox) swipeLayout.getTag(resId);
    valueBox.swipeMemory.setPosition(position);
    valueBox.onLayoutListener.setPosition(position);
    valueBox.position = position;
}
Also used : SwipeLayout(com.juns.wechat.widght.swipe.SwipeLayout)

Example 2 with SwipeLayout

use of com.juns.wechat.widght.swipe.SwipeLayout in project wechat by motianhuo.

the class NewMsgAdpter method getView.

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = LayoutInflater.from(context).inflate(R.layout.layout_item_msg, parent, false);
    }
    ImageView img_avar = ViewHolder.get(convertView, R.id.contactitem_avatar_iv);
    TextView txt_name = ViewHolder.get(convertView, R.id.txt_name);
    TextView txt_state = ViewHolder.get(convertView, R.id.txt_state);
    TextView txt_del = ViewHolder.get(convertView, R.id.txt_del);
    TextView txt_content = ViewHolder.get(convertView, R.id.txt_content);
    TextView txt_time = ViewHolder.get(convertView, R.id.txt_time);
    TextView unreadLabel = ViewHolder.get(convertView, R.id.unread_msg_number);
    SwipeLayout swipe = ViewHolder.get(convertView, R.id.swipe);
    if (PublicMsg != null && position == 0) {
        txt_name.setText("订阅号");
        img_avar.setImageResource(R.drawable.icon_public);
        txt_time.setText(PublicMsg.getTime());
        txt_content.setText(PublicMsg.getContent());
        unreadLabel.setText("3");
        unreadLabel.setVisibility(View.VISIBLE);
        swipe.setSwipeEnabled(false);
    } else {
        swipe.setSwipeEnabled(true);
        // 获取与此用户/群组的会话
        final EMConversation conversation = conversationList.get(position);
        // 获取用户username或者群组groupid
        ChatID = conversation.getUserName();
        txt_del.setTag(ChatID);
        if (conversation.isGroup()) {
            img_avar.setImageResource(R.drawable.defult_group);
            GroupInfo info = GloableParams.GroupInfos.get(ChatID);
            if (info != null) {
                txt_name.setText(info.getGroup_name());
            } else {
            // initGroupInfo(img_avar, txt_name);// 获取群组信息
            }
        } else {
            User user = GloableParams.Users.get(ChatID);
            if (user != null) {
                txt_name.setText(user.getUserName());
            } else {
                txt_name.setText("好友");
                // 获取用户信息
                UserUtils.initUserInfo(context, ChatID, img_avar, txt_name);
            }
        }
        if (conversation.getUnreadMsgCount() > 0) {
            // 显示与此用户的消息未读数
            unreadLabel.setText(String.valueOf(conversation.getUnreadMsgCount()));
            unreadLabel.setVisibility(View.VISIBLE);
        } else {
            unreadLabel.setVisibility(View.INVISIBLE);
        }
        if (conversation.getMsgCount() != 0) {
            // 把最后一条消息的内容作为item的message内容
            EMMessage lastMessage = conversation.getLastMessage();
            txt_content.setText(SmileUtils.getSmiledText(context, getMessageDigest(lastMessage, context)), BufferType.SPANNABLE);
            txt_time.setText(DateUtils.getTimestampString(new Date(lastMessage.getMsgTime())));
            if (lastMessage.status == EMMessage.Status.SUCCESS) {
                txt_state.setText("送达");
            // txt_state.setBackgroundResource(R.drawable.btn_bg_orgen);
            } else if (lastMessage.status == EMMessage.Status.FAIL) {
                txt_state.setText("失败");
            // txt_state.setBackgroundResource(R.drawable.btn_bg_red);
            } else if (lastMessage.direct == EMMessage.Direct.RECEIVE) {
                txt_state.setText("已读");
                txt_state.setBackgroundResource(R.drawable.btn_bg_blue);
            }
        }
        txt_del.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                deleteID = position;
                Tipdialog = new WarnTipDialog((Activity) context, "您确定要删除该聊天吗?");
                Tipdialog.setBtnOkLinstener(onclick);
                Tipdialog.show();
            }
        });
    }
    return convertView;
}
Also used : EMConversation(com.easemob.chat.EMConversation) User(com.juns.wechat.bean.User) GroupInfo(com.juns.wechat.bean.GroupInfo) SwipeLayout(com.juns.wechat.widght.swipe.SwipeLayout) WarnTipDialog(com.juns.wechat.dialog.WarnTipDialog) OnClickListener(android.view.View.OnClickListener) TextView(android.widget.TextView) ImageView(android.widget.ImageView) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) Date(java.util.Date) EMMessage(com.easemob.chat.EMMessage)

Example 3 with SwipeLayout

use of com.juns.wechat.widght.swipe.SwipeLayout in project wechat by motianhuo.

the class SwipeItemMangerImpl method initialize.

public void initialize(View target, int position) {
    int resId = getSwipeLayoutId(position);
    OnLayoutListener onLayoutListener = new OnLayoutListener(position);
    SwipeLayout swipeLayout = (SwipeLayout) target.findViewById(resId);
    if (swipeLayout == null)
        throw new IllegalStateException("can not find SwipeLayout in target view");
    SwipeMemory swipeMemory = new SwipeMemory(position);
    swipeLayout.addSwipeListener(swipeMemory);
    swipeLayout.addOnLayoutListener(onLayoutListener);
    swipeLayout.setTag(resId, new ValueBox(position, swipeMemory, onLayoutListener));
    mShownLayouts.add(swipeLayout);
}
Also used : SwipeLayout(com.juns.wechat.widght.swipe.SwipeLayout)

Aggregations

SwipeLayout (com.juns.wechat.widght.swipe.SwipeLayout)3 View (android.view.View)1 OnClickListener (android.view.View.OnClickListener)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 EMConversation (com.easemob.chat.EMConversation)1 EMMessage (com.easemob.chat.EMMessage)1 GroupInfo (com.juns.wechat.bean.GroupInfo)1 User (com.juns.wechat.bean.User)1 WarnTipDialog (com.juns.wechat.dialog.WarnTipDialog)1 Date (java.util.Date)1