class MyAdapter extends BaseAdapter { Context context; List<HotBean.ResultBean.DataBean> listbean; PopupWindow pop; TextView tvx1,tvx2; List<String> sclist=new ArrayList<String>(); DisplayImageOptions options; public MyAdapter(Context context, List<HotBean.ResultBean.DataBean> listbean) { this.context=context; this.listbean=listbean; options = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.mipmap.ic_empty) .showImageOnFail(R.mipmap.ic_error) .showImageOnLoading(R.mipmap.loading) .cacheInMemory(true) .cacheOnDisk(true) .build(); } /** * 加载更多 * @param datas */ public void loadMore(List<HotBean.ResultBean.DataBean> datas,boolean flag){ for (HotBean.ResultBean.DataBean dataBean : datas) { //flag true 数据要添加到最前面 false要添加到最后面 if(flag){ listbean.add(dataBean); }else { //首先我把数据都添加到最前面 listbean.add(0, dataBean); } } //刷新界面 notifyDataSetChanged(); } @Override public int getCount() { return listbean!=null?listbean.size():0; } @Override public Object getItem(int position) { return listbean.get(position); } @Override public long getItemId(int position) { return position; } //两种类别视图 @Override public int getViewTypeCount() { return 2; } public void checkey(){ } //奇书偶数 进行不同视图 @Override public int getItemViewType(int position) { HotBean.ResultBean.DataBean hdb=listbean.get(position); if(position%2==0&&hdb.getThumbnail_pic_s02()==null){ return 1; }else { return 0; } } @Override public View getView(final int position, View convertView, ViewGroup parent) { int type=getItemViewType(position); Viewholder holder = null; Viewholder2 holder2 = null; switch (type){ case 0: if(convertView==null){ holder=new Viewholder(); convertView=View.inflate(context, R.layout.itemf1,null); holder.tv= (TextView) convertView.findViewById(R.id.tv_f1_item); holder.tv2= (TextView) convertView.findViewById(R.id.from_f1_item); holder.img= (PhotoView) convertView.findViewById(R.id.img_f1_i); holder.img2= (PhotoView) convertView.findViewById(R.id.img2_f1_i); holder.img3= (ImageView) convertView.findViewById(R.id.img3_f1_i); convertView.setTag(holder); }else { holder= (Viewholder) convertView.getTag(); } HotBean.ResultBean.DataBean hd=listbean.get(position); holder.tv2.setText(hd.getAuthor_name()); holder.tv.setText(hd.getTitle()); final String title=hd.getTitle(); tvx1= (TextView) convertView.findViewById(R.id.f1_xq); tvx1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showPopupWindow(position,title); } }); ImageLoader.getInstance().displayImage(hd.getThumbnail_pic_s(), holder.img,options); ImageLoader.getInstance().displayImage(hd.getThumbnail_pic_s02(), holder.img2,options); ImageLoader.getInstance().displayImage(hd.getThumbnail_pic_s03(), holder.img3,options); break; case 1: if(convertView==null){ holder2=new Viewholder2(); convertView=View.inflate(context, R.layout.itemf1_2,null); holder2.tv= (TextView) convertView.findViewById(R.id.tv_f1_item2); holder2.tv2= (TextView) convertView.findViewById(R.id.from_f1_item2); holder2.img3= (ImageView) convertView.findViewById(R.id.img_f1_2_item); convertView.setTag(holder2); }else { holder2= (Viewholder2) convertView.getTag(); } HotBean.ResultBean.DataBean hd2=listbean.get(position); holder2.tv2.setText(hd2.getAuthor_name()); holder2.tv.setText(hd2.getTitle()); ImageLoader.getInstance().displayImage(hd2.getThumbnail_pic_s(), holder2.img3,options); final String title2=hd2.getTitle(); tvx2= (TextView) convertView.findViewById(R.id.f1_xq2); tvx1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { showPopupWindow(position,title2 ); } }); break; } return convertView; } class Viewholder2{ TextView tv,tv2; ImageView img3; } class Viewholder{ TextView tv,tv2; PhotoView img,img2; ImageView img3; } private void showPopupWindow(final int i, final String title) { //设置contentView View contentView = LayoutInflater.from(context).inflate(R.layout.mypop, null); pop = new PopupWindow(contentView, ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.WRAP_CONTENT, true); pop.setContentView(contentView); pop.setBackgroundDrawable(new ColorDrawable()); pop.setOutsideTouchable(true); pop.setFocusable(true); //设置各个控件的点击响应 TextView tv3 = (TextView)contentView.findViewById(R.id.delet); TextView tv4= (TextView) contentView.findViewById(R.id.sc); tv3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { pop.dismiss(); listbean.remove(i); notifyDataSetChanged(); } }); //显示PopupWindow View rootview = LayoutInflater.from(context).inflate(R.layout.activity_main, null); pop.showAtLocation(rootview, Gravity.RIGHT,0, 0); } }
新闻BaseAdapter
最新推荐文章于 2021-04-15 22:01:02 发布