/*
* Copyright (c) 2015, 张涛.
*
* 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.
*/
package org.kymjs.blog.adapter;
import java.util.List;
import org.kymjs.blog.R;
import org.kymjs.blog.domain.Blog;
import org.kymjs.blog.utils.UIHelper;
import org.kymjs.kjframe.KJBitmap;
import org.kymjs.kjframe.utils.StringUtils;
import org.kymjs.kjframe.widget.AdapterHolder;
import org.kymjs.kjframe.widget.KJAdapter;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AbsListView;
import android.widget.ImageView;
/**
* 主界面博客模块列表适配器
*
* @author kymjs (https://www.kymjs.com/)
* @since 2015-3
*/
public class BlogAdapter extends KJAdapter<Blog> {
private final KJBitmap kjb = new KJBitmap();
public BlogAdapter(AbsListView view, List<Blog> mDatas) {
super(view, mDatas, R.layout.item_list_blog);
}
@Override
public void convert(AdapterHolder helper, Blog item, boolean isScrolling) {
helper.getView(R.id.item_blog_tip_recommend).setVisibility(
item.getIsRecommend() == 0 ? View.GONE : View.VISIBLE);
helper.getView(R.id.item_blog_tip_tody).setVisibility(
item.getIsAuthor() == 0 ? View.GONE : View.VISIBLE);
ImageView image = helper.getView(R.id.item_blog_img);
String url = item.getImageUrl();
if (StringUtils.isEmpty(url)) {
image.setVisibility(View.GONE);
} else {
image.setVisibility(View.VISIBLE);
onPicClick(image, url);
if (isScrolling) {
kjb.displayCacheOrDefult(image, url, R.drawable.pic_bg);
} else {
kjb.display(image, url, 480, 420, R.drawable.pic_bg);
}
}
helper.setText(R.id.item_blog_tv_title, item.getTitle());
helper.setText(R.id.item_blog_tv_description, item.getDescription());
helper.setText(R.id.item_blog_tv_author, "张涛");
helper.setText(R.id.item_blog_tv_date,
StringUtils.friendlyTime(item.getDate()));
}
private void onPicClick(View view, final String url) {
view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
UIHelper.toGallery(v.getContext(), url);
}
});
}
}