新浪接口 多条目展示

依赖包======================

implementation 'com.google.code.gson:gson:2.2.4'解析
implementation 'com.squareup.picasso:picasso:2.3.2'图片
implementation'com.nostra13.universalimageloader:universal-image-loader:1.9.5'加载图片
implementation 'de.hdodenhof:circleimageview:2.0.0'园图片

=============================主页面================================================

private XListView listView;
private String dataUrl = "https://feed.mix.sina.com.cn/api/roll/get?pageid=153&lid=2512&k=&num=20&page=1";
private NewsMyAdapter newsMyAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listView = (XListView) findViewById(R.id.view);

    newsMyAdapter = new NewsMyAdapter(this);
    listView.setAdapter(newsMyAdapter);

    listView.setPullLoadEnable(true);
    listView.setXListViewListener(new XListView.IXListViewListener() {
        @Override
        public void onRefresh() {
            doHttp();
        }

        @Override
        public void onLoadMore() {
            listView.stopLoadMore();
        }
    });

    findViewById(R.id.jiazai).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            doHttp();
        }
    });
}

private void doHttp() {
    new Hepler().get(dataUrl).result(new Hepler.Httplistener() {
        @Override
        public void succuss(String data) {
            Bean baen = new Gson().fromJson(data, Bean.class);
            List<Data> data1 = baen.getResult().getData();
            newsMyAdapter.setList(data1);
            listView.stopRefresh();
        }
    });
}

private void toast(String d) {
    Toast.makeText(this, d, Toast.LENGTH_LONG).show();
}

================================适配器==================================================

public class NewsMyAdapter extends BaseAdapter {
    private Context context;

    public NewsMyAdapter(Context context) {
        this.context = context;
    }

    List<Data> list = new ArrayList<>();

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

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

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

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder1 viewHolder1;
        if (view == null) {
            view = View.inflate(context, R.layout.lay, null);
            viewHolder1 = new ViewHolder1();
            viewHolder1.img = (CircleImageView) view.findViewById(R.id.news_pic);
            viewHolder1.men1 = (TextView) view.findViewById(R.id.news_desc);
            viewHolder1.men2 = (TextView) view.findViewById(R.id.news_title);
            view.setTag(viewHolder1);
        } else {
            viewHolder1 = (ViewHolder1) view.getTag();
        }

        Data bean = list.get(i);
        viewHolder1.men1.setText(bean.getCtime());
        viewHolder1.men2.setText(bean.getIntime());
        if (list.get(i).getImages() == null || list.get(i).getImages().size() == 0) {
            viewHolder1.img.setImageResource(R.drawable.ic_launcher_background);
        } else {
            ImageLoader.getInstance().displayImage(bean.getImages().get(0).getU(), viewHolder1.img);
        }
        return view;
    }

    public void setList(List<Data> list) {
        this.list = list;
        notifyDataSetChanged();
    }

    class ViewHolder1 {
        CircleImageView img;
        TextView men1, men2;
    }

========================================布局=============================================

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <Button
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:id="@+id/jiazai"
        android:text="加载" />

    <com.example.xlistviewlib.XListView
        android:id="@+id/view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

====================适配器布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/news_pic"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_marginRight="10dp"
        android:src="@mipmap/ic_launcher" />

    <TextView
        android:id="@+id/news_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/news_pic"
        android:ellipsize="end"
        android:lines="1"
        android:text="我是Title" />

    <TextView
        android:id="@+id/news_desc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/news_title"
        android:layout_toRightOf="@+id/news_pic"
        android:ellipsize="end"
        android:lines="3"
        android:text="我是Desc" />
</RelativeLayout>

猜你喜欢

转载自blog.csdn.net/qq_43131935/article/details/82525995