/* * Copyright 2017 GcsSloop * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Last modified 2017-04-08 23:04:45 * * GitHub: https://github.com/GcsSloop * Website: http://www.gcssloop.com * Weibo: http://weibo.com/GcsSloop */ package com.gcssloop.diycode.fragment.provider; import android.content.Context; import android.support.annotation.NonNull; import android.view.View; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.gcssloop.diycode.R; import com.gcssloop.diycode.activity.TopicActivity; import com.gcssloop.diycode.activity.TopicContentActivity; import com.gcssloop.diycode.activity.UserActivity; import com.gcssloop.diycode.utils.TimeUtil; import com.gcssloop.diycode_sdk.api.topic.bean.Topic; import com.gcssloop.diycode_sdk.api.user.bean.User; import com.gcssloop.recyclerview.adapter.base.RecyclerViewHolder; import com.gcssloop.recyclerview.adapter.multitype.BaseViewProvider; public class TopicProvider extends BaseViewProvider<Topic> { public TopicProvider(@NonNull Context context) { super(context, R.layout.item_topic); } /** * 在绑定数据时调用,需要用户自己处理 * * @param holder ViewHolder * @param bean 数据 */ @Override public void onBindView(RecyclerViewHolder holder, final Topic bean) { final User user = bean.getUser(); holder.setText(R.id.username, user.getLogin()); holder.setText(R.id.node_name, bean.getNode_name()); holder.setText(R.id.time, TimeUtil.computePastTime(bean.getUpdated_at())); holder.setText(R.id.title, bean.getTitle()); // 加载头像 ImageView imageView = holder.get(R.id.avatar); String url = user.getAvatar_url(); String url2 = url; if (url.contains("diycode")) // 添加判断,防止替换掉其他网站掉图片 url2 = url.replace("large_avatar", "avatar"); Glide.with(mContext).load(url2).diskCacheStrategy(DiskCacheStrategy.RESULT).into(imageView); String state = "评论 " + bean.getReplies_count(); holder.setText(R.id.state, state); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.avatar: case R.id.username: UserActivity.newInstance(mContext, user); break; case R.id.item: TopicContentActivity.newInstance(mContext, bean); break; case R.id.node_name: TopicActivity.newInstance(mContext, bean.getNode_id(), bean.getNode_name()); break; } } }; holder.setOnClickListener(listener, R.id.avatar, R.id.username, R.id.item, R.id.node_name); } }