</pre><pre name="code" class="java">
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.dodo.nj.R;
import com.dodo.nj.data.NewsInfo;
import com.dodo.nj.imageutil.ImageLoader;
/**
* @category 带图片新闻公用的Adapter
*/
public class Nyzx_sczl_pxjdAdapter extends BaseAdapter {
private Context context;
public List<NewsInfo> newsInfos_result = new ArrayList<NewsInfo>();
private ImageLoader loader;
public Nyzx_sczl_pxjdAdapter(Context context,
List<NewsInfo> newsInfos_result) {
super();
loader = ImageLoader.getInstance(context);
this.context = context;
if (newsInfos_result != null)
this.newsInfos_result = newsInfos_result;
}
@Override
public int getCount() {
if (newsInfos_result.size() > 9)
return newsInfos_result.size() + 1;
else
return newsInfos_result.size();
}
@Override
public Object getItem(int position) {
if (newsInfos_result.size() > 9)
return newsInfos_result.get(position + 1);
else
return newsInfos_result.get(position);
}
@Override
public long getItemId(int position) {
if (position <= 9) {
if ((Integer) newsInfos_result.size() == 0) {
return -2;
}
return -1;
} else if (position > 9) {
if (position > 0 && (position < this.getCount() - 1)) {
return newsInfos_result.size();
} else {
return -2;
}
} else {
return -2;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(context);
final ViewHolder vh;
if (position == this.getCount() - 1 && this.getCount() > 9) {
convertView = inflater.inflate(R.layout.more_items, null);
return convertView;
}
if (convertView == null
|| convertView.findViewById(R.id.linemore) != null) {
vh = new ViewHolder();
convertView = inflater.inflate(R.layout.news_lv_item, null);
vh.topic_news_icon = (ImageView) convertView
.findViewById(R.id.news_lv_items_iv);
vh.topic_news_title = (TextView) convertView
.findViewById(R.id.news_lv_items_title);
vh.topic_news_digest = (TextView) convertView
.findViewById(R.id.news_lv_items_gaishu);
convertView.setTag(vh);
} else {
vh = (ViewHolder) convertView.getTag();
}
final NewsInfo newsInfo = newsInfos_result.get(position);
vh.topic_news_title.setText(newsInfo.getTitle());
vh.topic_news_digest.setText(newsInfo.getDigest());
String imgpath = newsInfo.getImgsrc();
if (imgpath != null && !"".equals(imgpath)) {
loader.displayImage(imgpath, vh.topic_news_icon, R.drawable.main1);
} else {
vh.topic_news_icon.setImageResource(R.drawable.main1);
}
return convertView;
}
}
class ViewHolder {
ImageView topic_news_icon;
TextView topic_news_title;
TextView topic_news_digest;
}
Android 中带图片新闻公用的Adapter
最新推荐文章于 2021-05-30 14:00:57 发布