簡體   English   中英

ListView 內 ListView 適配器 Android

[英]ListView inside ListView adapter Android

我有一個模擬 Facebook 提要的代碼我想添加一個評論選項來打開一個新的列表視圖,其中包含每個帖子的多個評論

主列表視圖由適配器定義,我將如何以單擊評論按鈕真正打開每個帖子中不同評論的列表的方式完成論文,或者如果我希望保留某些帖子,則不顯示評論無人回答? 這是我的適配器


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;
    }
}

我試圖添加另一個名為: commentsListView

以及評論列表:列出評論

但是我無法正確定義適配器,怎么辦?

您可以查看可擴展的列表視圖: https://developer.android.com/reference/android/widget/ExpandableListView

這允許您在其他列表視圖中擁有列表視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM