【发布时间】:2020-06-14 01:17:47
【问题描述】:
我有一个模拟 Facebook 提要的代码 我想添加一个评论选项来打开一个新的列表视图,其中包含每个帖子的多个 cmets
主列表视图由适配器定义,我将如何以单击评论按钮真正打开每个帖子中不同 cmets 的列表的方式完成论文,或者如果我想要一些不显示评论帖子仍未得到答复? 这是我的适配器
import android.R.layout;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
public class FacebookWallAdapter extends ArrayAdapter {
private List<FacebookWallPost> posts;
private List<String> comments;
private ListView commentsListView;
private Context activity;
private int postsLayoutId;
public FacebookWallAdapter(@NonNull Context context, int resource, @NonNull List objects) {
super(context, resource, objects);
this.posts = objects;
this.activity = context;
this.postsLayoutId = resource;
}
@SuppressLint("ResourceType")
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(this.activity);
convertView = inflater.inflate(this.postsLayoutId,parent,false);
TextView writerName = convertView.findViewById(R.id.writerName);
TextView date = convertView.findViewById(R.id.date);
TextView postText = convertView.findViewById(R.id.postText);
ImageView profilePic = convertView.findViewById(R.id.profilePicture);
ImageView postImage = convertView.findViewById(R.id.postImage);
ImageView likeButtonStatus = convertView.findViewById(R.id.likeButton);
ImageView commentsButton = convertView.findViewById(R.id.commentButton);
FacebookWallPost thisPost = this.posts.get(position);
writerName.setText(thisPost.getPostWriter());
date.setText(thisPost.getDate());
postText.setText(thisPost.getPostText());
profilePic.setImageResource(thisPost.getProfilePic());
postImage.setImageResource(thisPost.getPostImage());
if(thisPost.getLikeStatus()){
likeButtonStatus.setImageResource(R.drawable.like_blue);
}
else
{ likeButtonStatus.setImageResource(R.drawable.like_black);
}
likeButtonStatus.setOnClickListener((View v) -> {
if (thisPost.getLikeStatus())
{
thisPost.setLikeStatus(false);
}
else {
thisPost.setLikeStatus(true);
}
this.notifyDataSetChanged();
});
return convertView;
}
}
我尝试添加另一个名为:cmetsListView
的列表视图还有一个 cmets 列表:List cmets
但是我无法正确定义Adapter,怎么办?
【问题讨论】: