gpt4 book ai didi

android - 回收站 View 滚动不流畅

转载 作者:行者123 更新时间:2023-11-29 19:06:09 24 4
gpt4 key购买 nike

我创建了一个包含不同类型 subview 的社交帖子回收 View 。每个 child 多个 layout.recyclerview 工作正常,唯一的问题是 recyclerview 滚动不流畅。
我们的代码

@Override
public int getItemViewType(int position) {

if (arrSocial_Post_Model.get(position) != null) {

Social_Post_Model objSocial_Post_Model = arrSocial_Post_Model.get(position);
if (objSocial_Post_Model.getPost_type().equalsIgnoreCase("1"))
return VIEW_FRIEND_SUGGESTION;

else if (objSocial_Post_Model.getPost_type().equalsIgnoreCase("special_post") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("2") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("3"))
return VIEW_SPECIAL_POST;

else if (objSocial_Post_Model.getPost_type().equalsIgnoreCase("4") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("5") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("6"))
return VIEW_INFLUNENCER_POST;

else if (objSocial_Post_Model.getPost_type().equalsIgnoreCase("7") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("8") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("9") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("10") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("11") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("12") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("13") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("14") ||
objSocial_Post_Model.getPost_type().equalsIgnoreCase("15"))
return VIEW_PURCHASE_SUGGESION;

else
return VIEW_PROG;
} else
return VIEW_PROG;
}

View 持有者

  public static class OtherViewHolder extends RecyclerView.ViewHolder {

public LinearLayout layout_share_influencer;
public de.hdodenhof.circleimageview.CircleImageView img_share_user;
public TextView textview_share_username;

//social and private top layout
public View social_private_top_layout;
public LinearLayout layout_search_edit;
public ImageView imageView_notification;
public de.hdodenhof.circleimageview.CircleImageView profile_image_socialpost;
public EditText frnd_search_socialpost;
public RelativeLayout layout_notification_socialpost;
public TextView textView_notification_count_value_socialpost;
public LinearLayout lay_post_influance_socialpost, lay_share_purchase_socialpost, lay_ask_suggestion_socialpost;

//Profile Top Layout
public View profileTopLayout;
public de.hdodenhof.circleimageview.CircleImageView profile_image;
public EditText frnd_search;
public RelativeLayout layout_notification;
public TextView textView_notification_count_value;

public ImageView imageView_profile_cover;
public TextView textview_profile_name;
public ImageView image_update_profile;
public LinearLayout layout_frined, layout_followers;
public TextView textView_friends_total, textView_followers_total;
public ImageView img_lock_friends, img_lock_follow;
public TextView textView_upgrade;

public LinearLayout layout_create_post, layout_Addfriends_follow;
public LinearLayout lay_post_influance, lay_share_purchase, lay_ask_suggestion;
public TextView textview_add_friend, textView_follow;
public ImageView img_follow_done, img_friend_done;

/////////
public LinearLayout lay_post_top;
public ImageView imageview_edit_post;
public TextView textview_post_Datetime;
public de.hdodenhof.circleimageview.CircleImageView img_Posted_user;
public ImageView tag_friend_image;
public ImageView img_post_type;
public LinearLayout layout_tag_friend;
public TextView textview_post_other_detail;
public TextView textview_Tagged_friend;
public TextView textview_posttype_detail;

//other
public LinearLayout layout_from_to_destination;
public TextView textview_service_from;
public TextView textview_service_destination;
public TextView post_detail, post_detail_deal_coupon;
public ImageView img_service_icon;
public ImageView image_copy;
public TextView textview_earned_cashback;

public ImageView img_posted_product;
public TextView textView_sellername;
public ImageView seller_image;
//rating bar
public LinearLayout layout_rating;
public TextView textview_rating_value;
public RatingBar ratingbar_star;
public TextView textView_price;
public Button btn_gotodeal;

public TextView textview_recommended_seller;

// like comment share congrates and other
public ImageView image_congrates, image_buy, image_notbuy, image_like, image_share_post;
public LinearLayout post_bottom_Layout_purchase, post_bottom_Layout_suggestion, postbottom_layout_for_share;

public TextView txt_congrates_count;
public TextView txt_comments_count_p;
public TextView txt_buy_count;
public TextView txt_notbuy_count;
public TextView txt_comments_count_s;

public TextView txt_like_count;
public TextView txt_comments_count_share;
public TextView txt_Share_count_share;

public LinearLayout layout_purchase_comment_click;
public LinearLayout layout_suggestion_comment_click;
public LinearLayout layout_share_comment_click;

private LinearLayout layout_congratulate;
private LinearLayout layout_sug_buy;
private LinearLayout layout_sug_Notbuy;
private LinearLayout layout_Like;
private LinearLayout layout_share;

public TextView textview_congratulate;
public TextView textview_sug_buy;
public TextView textview_sug_not_buy;
public TextView textview_Like;
public TextView textview_Share;
private TextView textview_comment_in_share;
private TextView textview_comment_in_suggestion;
private TextView textview_comment_purchase;

//*Child content*//*
public de.hdodenhof.circleimageview.CircleImageView img_comment_user1;
public TextView textview_commented_username1;
public TextView comment_text1;
public de.hdodenhof.circleimageview.CircleImageView img_comment_user2;
public TextView textview_commented_username2;
public TextView comment_text2;
public LinearLayout layout_post_child;
public LinearLayout layout_post_child_one;

public OtherViewHolder(View itemView) {
super(itemView);
//social and private top layout
social_private_top_layout = itemView.findViewById(R.id.social_private_top_layout);
layout_search_edit = (LinearLayout) social_private_top_layout.findViewById(R.id.layout_search_edit);
imageView_notification = (ImageView) social_private_top_layout.findViewById(R.id.imageView_notification);
profile_image_socialpost = (de.hdodenhof.circleimageview.CircleImageView) social_private_top_layout.findViewById(R.id.profile_image);
frnd_search_socialpost = (EditText) social_private_top_layout.findViewById(R.id.frnd_search);
layout_notification_socialpost = (RelativeLayout) social_private_top_layout.findViewById(R.id.layout_notification);
textView_notification_count_value_socialpost = (TextView) social_private_top_layout.findViewById(R.id.textView_notification_count_value);
lay_post_influance_socialpost = (LinearLayout) social_private_top_layout.findViewById(R.id.lay_post_influance);
lay_share_purchase_socialpost = (LinearLayout) social_private_top_layout.findViewById(R.id.lay_share_purchase);
lay_ask_suggestion_socialpost = (LinearLayout) social_private_top_layout.findViewById(R.id.lay_ask_suggestion);

//profile top layout
profileTopLayout = itemView.findViewById(R.id.profile_layout);
profile_image = (de.hdodenhof.circleimageview.CircleImageView) profileTopLayout.findViewById(R.id.profile_image);
frnd_search = (EditText) profileTopLayout.findViewById(R.id.frnd_search);
layout_notification = (RelativeLayout) profileTopLayout.findViewById(R.id.layout_notification);
textView_notification_count_value = (TextView) profileTopLayout.findViewById(R.id.textView_notification_count_value);

imageView_profile_cover = (ImageView) profileTopLayout.findViewById(R.id.imageView_profile_cover);
image_update_profile = (ImageView) profileTopLayout.findViewById(R.id.image_update_profile);
textview_profile_name = (TextView) profileTopLayout.findViewById(R.id.textview_profile_name);

layout_frined = (LinearLayout) profileTopLayout.findViewById(R.id.layout_frined);
layout_followers = (LinearLayout) profileTopLayout.findViewById(R.id.layout_followers);
textView_friends_total = (TextView) profileTopLayout.findViewById(R.id.textView_friends_total);
textView_followers_total = (TextView) profileTopLayout.findViewById(R.id.textView_followers_total);
img_lock_friends = (ImageView) profileTopLayout.findViewById(R.id.img_lock_friends);
img_lock_follow = (ImageView) profileTopLayout.findViewById(R.id.img_lock_follow);
textView_upgrade = (TextView) profileTopLayout.findViewById(R.id.textView_upgrade);

layout_create_post = (LinearLayout) profileTopLayout.findViewById(R.id.layout_create_post);
layout_Addfriends_follow = (LinearLayout) profileTopLayout.findViewById(R.id.layout_Addfriends_follow);

lay_post_influance = (LinearLayout) profileTopLayout.findViewById(R.id.lay_post_influance);
lay_share_purchase = (LinearLayout) profileTopLayout.findViewById(R.id.lay_share_purchase);
lay_ask_suggestion = (LinearLayout) profileTopLayout.findViewById(R.id.lay_ask_suggestion);

textview_add_friend = (TextView) profileTopLayout.findViewById(R.id.textview_add_friend);
textView_follow = (TextView) profileTopLayout.findViewById(R.id.textView_follow);
img_follow_done = (ImageView) profileTopLayout.findViewById(R.id.img_follow_done);
img_friend_done = (ImageView) profileTopLayout.findViewById(R.id.img_friend_done);

/////influencer share
layout_share_influencer = (LinearLayout) itemView.findViewById(R.id.layout_share_influencer);
img_share_user = (de.hdodenhof.circleimageview.CircleImageView) itemView.findViewById(R.id.img_share_user);
textview_share_username = (TextView) itemView.findViewById(R.id.textview_share_username);

////////////
lay_post_top = (LinearLayout) itemView.findViewById(R.id.lay_post_top);
tag_friend_image = (ImageView) itemView.findViewById(R.id.tag_friend_image);
img_post_type = (ImageView) itemView.findViewById(R.id.img_post_type);
textview_post_other_detail = (TextView) itemView.findViewById(R.id.textview_post_other_detail);
textview_post_Datetime = (TextView) itemView.findViewById(R.id.textview_post_Datetime);
imageview_edit_post = (ImageView) itemView.findViewById(R.id.imageview_edit_post);
img_Posted_user = (de.hdodenhof.circleimageview.CircleImageView) itemView.findViewById(R.id.img_Posted_user);
layout_tag_friend = (LinearLayout) itemView.findViewById(R.id.layout_tag_friend);
textview_Tagged_friend = (TextView) itemView.findViewById(R.id.textview_Tagged_friend);
textview_posttype_detail = (TextView) itemView.findViewById(R.id.textview_posttype_detail);

//other
layout_from_to_destination = (LinearLayout) itemView.findViewById(R.id.layout_from_to_destination);
textview_service_from = (TextView) itemView.findViewById(R.id.textview_service_from);
textview_service_destination = (TextView) itemView.findViewById(R.id.textview_service_destination);
post_detail = (TextView) itemView.findViewById(R.id.post_detail);
post_detail_deal_coupon = (TextView) itemView.findViewById(R.id.post_detail_deal_coupon);
img_service_icon = (ImageView) itemView.findViewById(R.id.img_service_icon);
image_copy = (ImageView) itemView.findViewById(R.id.image_copy);
textview_earned_cashback = (TextView) itemView.findViewById(R.id.textview_earned_cashback);

img_posted_product = (ImageView) itemView.findViewById(R.id.img_posted_product);
textView_sellername = (TextView) itemView.findViewById(R.id.textView_sellername);
seller_image = (ImageView) itemView.findViewById(R.id.seller_image);

//rating bar
layout_rating = (LinearLayout) itemView.findViewById(R.id.layout_rating);
textview_rating_value = (TextView) itemView.findViewById(R.id.textview_rating_value);
ratingbar_star = (RatingBar) itemView.findViewById(R.id.ratingbar_star);

textView_price = (TextView) itemView.findViewById(R.id.textView_price);
btn_gotodeal = (Button) itemView.findViewById(R.id.btn_Gotodeal);

textview_recommended_seller = (TextView) itemView.findViewById(R.id.textview_recommended_seller);

// like comment share congrates and other
image_congrates = (ImageView) itemView.findViewById(R.id.image_congrates);
image_buy = (ImageView) itemView.findViewById(R.id.image_buy);
image_notbuy = (ImageView) itemView.findViewById(R.id.image_notbuy);
image_like = (ImageView) itemView.findViewById(R.id.image_like);
image_share_post = (ImageView) itemView.findViewById(R.id.image_share_post);

txt_comments_count_p = (TextView) itemView.findViewById(R.id.txt_comments_count_p);
txt_congrates_count = (TextView) itemView.findViewById(R.id.txt_congrates_count);
txt_buy_count = (TextView) itemView.findViewById(R.id.txt_buy_count);
txt_notbuy_count = (TextView) itemView.findViewById(R.id.txt_notbuy_count);
txt_comments_count_s = (TextView) itemView.findViewById(R.id.txt_comments_count_s);
txt_like_count = (TextView) itemView.findViewById(R.id.txt_like_count);
txt_comments_count_share = (TextView) itemView.findViewById(R.id.txt_comments_count_share);
txt_Share_count_share = (TextView) itemView.findViewById(R.id.txt_Share_count_share);

textview_congratulate = (TextView) itemView.findViewById(R.id.textview_congratulate);
textview_sug_buy = (TextView) itemView.findViewById(R.id.textview_sug_buy);
textview_sug_not_buy = (TextView) itemView.findViewById(R.id.textview_sug_not_buy);
textview_Like = (TextView) itemView.findViewById(R.id.textview_Like);
textview_Share = (TextView) itemView.findViewById(R.id.textview_Share);
textview_comment_in_share = (TextView) itemView.findViewById(R.id.textview_comment_in_share);
textview_comment_in_suggestion = (TextView) itemView.findViewById(R.id.textview_comment_in_suggestion);
textview_comment_purchase = (TextView) itemView.findViewById(R.id.textview_comment_purchase);

post_bottom_Layout_purchase = (LinearLayout) itemView.findViewById(R.id.postbottom_layout_for_purchase);
post_bottom_Layout_suggestion = (LinearLayout) itemView.findViewById(R.id.postbottom_layout_for_suggestion);
postbottom_layout_for_share = (LinearLayout) itemView.findViewById(R.id.postbottom_layout_for_share);

layout_purchase_comment_click = (LinearLayout) itemView.findViewById(R.id.purchase_comment_click);
layout_suggestion_comment_click = (LinearLayout) itemView.findViewById(R.id.suggestion_comment_click);
layout_share_comment_click = (LinearLayout) itemView.findViewById(R.id.share_comment_click);

layout_congratulate = (LinearLayout) itemView.findViewById(R.id.layout_cong);
layout_sug_buy = (LinearLayout) itemView.findViewById(R.id.layout_buy);
layout_sug_Notbuy = (LinearLayout) itemView.findViewById(R.id.layout_Notbuy);
layout_Like = (LinearLayout) itemView.findViewById(R.id.share_Like_click);
layout_share = (LinearLayout) itemView.findViewById(R.id.share_share_click);

//*child content*//*
img_comment_user1 = (de.hdodenhof.circleimageview.CircleImageView) itemView.findViewById(R.id.image_commented_user1);
textview_commented_username1 = (TextView) itemView.findViewById(R.id.textview_commented_username1);
comment_text1 = (TextView) itemView.findViewById(R.id.comment_text1);

img_comment_user2 = (de.hdodenhof.circleimageview.CircleImageView) itemView.findViewById(R.id.image_commented_user2);
textview_commented_username2 = (TextView) itemView.findViewById(R.id.textview_commented_username2);
comment_text2 = (TextView) itemView.findViewById(R.id.comment_text2);

layout_post_child = (LinearLayout) itemView.findViewById(R.id.layout_post_child);
layout_post_child_one = (LinearLayout) itemView.findViewById(R.id.layout_post_child_one);
}
}

我们使用了 3 个与上述 viewholder 相同的 viewholder

最佳答案

我知道,我来晚了一点,但我很确定你的问题是因为你正在使用 de.hdodenhof.circleimageview.CircleImageView

在列表中使用此自定义 ImageView 时,性能似乎很差。我建议使用另一种方法将图像转换为圆圈。

关于android - 回收站 View 滚动不流畅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47155853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com