多条目加载

public class Fra2 extends Fragment {

private ListView lv;
String url="http://api.expoon.com/AppNews/getNewsList/type/1/p/0";
 private List<JsonBean.DataBean> data=new ArrayList<>();
private MyAdapter adapter;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fra2, null);

    lv = view.findViewById(R.id.lv);

    new MAsyncTask().execute(url);
    adapter = new MyAdapter();

    lv.setAdapter(adapter);

    return view;
}

private class MAsyncTask extends AsyncTask<String,Void,String>{




    @Override
    protected String doInBackground(String... strings) {
        String json = UntilGj.getJson(strings[0]);

        return json;
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);

        Gson gson=new Gson();
        JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
        data.addAll(jsonBean.getData());
        adapter.notifyDataSetChanged();

    }
}

class MyAdapter extends BaseAdapter{



    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public int getViewTypeCount() {
        return 2;
    }

    @Override
    public int getItemViewType(int position) {
       if (position%2==0){
           return 0;
       }else {
           return 1;
       }
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHorder1 horder1 = null;
        ViewHorder2 horder2 = null;
        int i = getItemViewType(position);
        switch (i) {
            case 0:
            if (convertView == null) {
                convertView = View.inflate(getActivity(), R.layout.list1, null);
                horder1 = new ViewHorder1();
                horder1.iv = convertView.findViewById(R.id.iv);
                convertView.setTag(horder1);
            } else {
                horder1 = (ViewHorder1) convertView.getTag();
            }
            Glide.with(getActivity()).load(data.get(position).getPic_url()).into(horder1.iv);
            break;
            case 1:
                if (convertView == null) {
                    convertView = View.inflate(getActivity(), R.layout.list2, null);
                    horder2 = new ViewHorder2();
                    horder2.text = convertView.findViewById(R.id.text);
                    convertView.setTag(horder2);
                }
                else
            {
                horder2= (ViewHorder2) convertView.getTag();
            }
            horder2.text.setText(data.get(position).getNews_title());
                break;
        }
        return convertView;
    }
}
class ViewHorder1{
    ImageView iv;
}
class ViewHorder2{
    TextView text;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值