android评论嵌套,Android Listview嵌套Listview实现评论-Go语言中文社区

无图无真相:

368f4b8ddc79490085bcf58e634d6a99.png

e4f24d2223a98d8831d40b2293a0a4be.png

b3a24496363a07b81e3be86a284194cb.png

源码:

package com.yuan.cfycomment.adapter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import com.yuan.cfycomment.R;

import com.yuan.cfycomment.view.MyListView;

import android.content.Context;

import android.graphics.Color;

import android.graphics.drawable.ColorDrawable;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.view.View.OnClickListener;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

public class CommentAdapter extends BaseAdapter {

private LayoutInflater inflater;

private ViewHolder viewHolder;

private List> list_comment; // 一级评论数据

private List>> list_comment_child; // 二级评论数据

private Context context;

private OnClickListener myOnitemcListener;

private CommentReplyAdapter myAdapter;

public CommentAdapter(Context context,

List> list_comment,

List>> list_comment_child,

OnClickListener myOnitemcListener, CommentReplyAdapter myAdapter) {

this.context = context;

this.inflater = LayoutInflater.from(context);

this.myAdapter = myAdapter;

this.list_comment = new ArrayList>();

this.list_comment_child = new ArrayList>>();

this.myOnitemcListener = myOnitemcListener;

this.list_comment.addAll(list_comment);

this.list_comment_child.addAll(list_comment_child);

}

public void clearList() {

this.list_comment.clear();

this.list_comment_child.clear();

}

public void updateList(List> list_comment,

List>> list_comment_child) {

this.list_comment.addAll(list_comment);

this.list_comment_child.addAll(list_comment_child);

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return list_comment.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return list_comment.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

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

// TODO Auto-generated method stub

if (convertView == null) {

convertView = inflater.inflate(R.layout.item_comment, null);

viewHolder = new ViewHolder();

viewHolder.iv_user_photo = (ImageView) convertView

.findViewById(R.id.iv_user_photo);

viewHolder.tv_user_name = (TextView) convertView

.findViewById(R.id.tv_user_name);

viewHolder.tv_user_comment = (TextView) convertView

.findViewById(R.id.tv_user_comment);

viewHolder.tv_user_reply = (TextView) convertView

.findViewById(R.id.tv_user_reply);

viewHolder.lv_user_comment_replys = (MyListView) convertView

.findViewById(R.id.lv_user_comment_replys);

viewHolder.tv_user_reply.setTag(position);

convertView.setTag(viewHolder);

} else {

viewHolder = (ViewHolder) convertView.getTag();

}

viewHolder.tv_user_name.setText("david");

viewHolder.tv_user_comment.setText(list_comment.get(position)

.get("content").toString());

viewHolder.lv_user_comment_replys.setSelector(new ColorDrawable(

Color.TRANSPARENT));

// if (list_comment_child.size() > position)

if (list_comment_child.get(position) != null)

viewHolder.lv_user_comment_replys

.setAdapter(new CommentReplyAdapter(context,

list_comment_child.get(position)));

// if (myAdapter == null) {

// myAdapter = new CommentReplyAdapter(context,

// list_comment_child.get(position));

// viewHolder.lv_user_comment_replys.setAdapter(myAdapter);

// } else {

// myAdapter.notifyDataSetChanged();

// }

viewHolder.tv_user_reply.setTag(position);

viewHolder.tv_user_reply.setOnClickListener(myOnitemcListener);

return convertView;

}

public class ViewHolder {

private ImageView iv_user_photo; // 品论者 头像

private TextView tv_user_name; // 品论者 昵称

private TextView tv_user_comment; // 品论者 一级品论内容

// private TextView tv_user_comment_date; //

private TextView tv_user_reply; // 品论者 二级品论内容

private MyListView lv_user_comment_replys; // 品论者 二级品论内容列表

}

}

package com.yuan.cfycomment.adapter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import com.yuan.cfycomment.R;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

public class CommentReplyAdapter extends BaseAdapter {

private LayoutInflater inflater;

private List> list; // 二级评论数据

private ViewHolder viewHolder;

public CommentReplyAdapter(Context context,

List> list) {

inflater = LayoutInflater.from(context);

// this.list = new ArrayList>();

// this.list.addAll(list);

this.list = list;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return list.size();

}

public void clearList() {

this.list.clear();

}

public void updateList(List> list_comment) {

this.list.addAll(list_comment);

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return list.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

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

// TODO Auto-generated method stub

if (convertView == null) {

convertView = inflater.inflate(R.layout.item_comment_reply, null);

viewHolder = new ViewHolder();

viewHolder.tv_comment_reply_text = (TextView) convertView

.findViewById(R.id.tv_comment_reply_text);

viewHolder.tv_comment_reply_writer = (TextView) convertView

.findViewById(R.id.tv_comment_reply_writer);

convertView.setTag(viewHolder);

} else {

viewHolder = (ViewHolder) convertView.getTag();

}

viewHolder.tv_comment_reply_text.setText(list.get(position)

.get("content").toString());

// viewHolder.tv_comment_reply_writer.setText(list.get(position)

// .get("user").toString());

return convertView;

}

public class ViewHolder {

private TextView tv_comment_reply_writer; // 评论者昵称

private TextView tv_comment_reply_text; // 评论 内容

}

}

Demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值