package com.metis.coursepart.adapter.holder; import android.content.Context; import android.graphics.Bitmap; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.webkit.WebView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.metis.base.ActivityDispatcher; import com.metis.base.manager.DisplayManager; import com.metis.base.module.User; import com.metis.base.widget.adapter.holder.AbsViewHolder; import com.metis.coursepart.R; import com.metis.coursepart.adapter.delegate.UserInDetailDelegate; import com.metis.coursepart.module.ContentItem; import com.metis.coursepart.module.Course; import com.metis.coursepart.module.CourseAlbum; import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import java.util.List; /** * Created by Beak on 2015/7/15. */ public class UserInDetailHolder extends AbsViewHolder<UserInDetailDelegate>{ public TextView titleTv, subTitleTv; public ImageView profileIv; public TextView nameTv; public WebView contentWv = null; public LinearLayout contentContainer = null; public UserInDetailHolder(View itemView) { super(itemView); titleTv = (TextView)itemView.findViewById(R.id.title_text); subTitleTv = (TextView)itemView.findViewById(R.id.title_sub_text); profileIv = (ImageView)itemView.findViewById(R.id.user_profile); nameTv = (TextView)itemView.findViewById(R.id.user_name); contentContainer = (LinearLayout)itemView.findViewById(R.id.content_item_container); contentWv = (WebView)itemView.findViewById(R.id.web_content); contentWv.getSettings().setDefaultTextEncodingName("UTF-8"); } @Override public void bindData(final Context context, UserInDetailDelegate userInDetailDelegate, RecyclerView.Adapter adapter, int position) { CourseAlbum album = userInDetailDelegate.getSource(); Course currentCourse = userInDetailDelegate.getCurrentCourse(); if (currentCourse != null) { titleTv.setText(currentCourse.subCourseName); subTitleTv.setText(context.getString(R.string.course_play_count_history, currentCourse.viewsCount)); } else { if (album != null) { titleTv.setText(album.title); subTitleTv.setText(context.getString(R.string.course_play_count_history, album.viewCount)); } } final User user = album.author != null ? album.author : album.studio; if (user != null) { DisplayManager.getInstance(context).display(user.getAvailableAvatar(), profileIv); nameTv.setText(user.name); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { ActivityDispatcher.userActivity(context, user.userId); } }; profileIv.setOnClickListener(listener); nameTv.setOnClickListener(listener); } List<ContentItem> items = userInDetailDelegate.getContentItemList(); contentContainer.removeAllViews(); if (items != null && !items.isEmpty()) { final int length = items.size(); LayoutInflater inflater = LayoutInflater.from(context); for (int i = 0; i < length; i++) { final ContentItem item = items.get(i); if (item.isTxt()) { View child = inflater.inflate(R.layout.layout_course_txt_item, null); TextView tv = (TextView)child.findViewById(R.id.txt_item_content); tv.setText(item.data.Content); contentContainer.addView(child); } else { View child = inflater.inflate(R.layout.layout_course_img_item, null); ImageView iv = (ImageView)child.findViewById(R.id.img_item_content); DisplayManager.getInstance(context).display(item.data.ThumbnailsURL, iv/*, new ImageLoadingListener() { @Override public void onLoadingStarted(String s, View view) { } @Override public void onLoadingFailed(String s, View view, FailReason failReason) { } @Override public void onLoadingComplete(String s, View view, Bitmap bitmap) { if (bitmap != null) { } } @Override public void onLoadingCancelled(String s, View view) { } }*/); contentContainer.addView(child); child.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ActivityDispatcher.imagePreviewActivity(context, item.data); } }); } } } //String data = "<h1>shumiashumiao 速度发货胜多负少豆腐<img src=\\\"https://metisfile.blob.core.chinacloudapi.cn/201507/201507151104513716_378*539_T.jpg\" alt=\"\" /></h1><h1>Title</h1><p>This is HTML text<br /><i>Formatted in italics</i><br />Anothor Line</p>"; //contentWv.loadUrl("http://www.qq.com/"); /*String data1 = "<p>shumiashumiao 速度发货胜多负少豆腐<img src=\"https://metisfile.blob.core.chinacloudapi.cn/201507/201507151104513716_378*539_T.jpg\" alt=\"\" /></p>"; contentWv.loadData(*//*userInDetailDelegate.getWebContent()*//*data1, "text/html", "UTF-8");*/ } }