封包显示Listview和Imageview

1:首先,导入封好的arr包到libs中。

2:在project下的app里的build.gradle中配置文件,在buildTypes的下面添加 

repositories{
    flatDir{
        dirs 'libs'//路径
    }
}
在dependencies中添加

compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
compile 'com.android.support:design:25.3.1'
compile 'org.xutils:xutils:3.5.0'
compile(name: 'andy-library', ext: 'aar')
compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.google.code.gson:gson:2.8.1'
3:在AndroidManifest.xml中添加网络访问权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
application中添加
android:name="com.example.library.App"
4:在res的values文件夹中创建dimens.xml
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
5:导入gson包,创建Data类,里面是通过网络请求得到的json串的解析类,获得json串的属性类
6:创建Myadapter类,效果如下
------------------------------
import android.content.Context;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.library.adapter.CommAdapter;
import com.example.library.image.NetImageLoader;

import org.xutils.view.annotation.ViewInject;

import java.util.List;


public class Myadapter  extends CommAdapter<Data.ResultBean.DataBean,Myadapter.ViewHolder> {


    public Myadapter(Context context, List<Data.ResultBean.DataBean> list, int itemLayoutId) {
        super(context, list, itemLayoutId);
    }

    @Override
    public void setViewByHolder(ViewHolder holder, Data.ResultBean.DataBean dataBean) {
        holder.title.setText(dataBean.getTitle());
//        Glide.with(getContext()).load(dataBean.getThumbnail_pic_s()).into(holder.image);
        NetImageLoader.getInstance().display(dataBean.getThumbnail_pic_s(),holder.image);

    }

    @Override
    public ViewHolder getViewHolder() {
        return new ViewHolder();
    }


    class ViewHolder{
        @ViewInject(R.id.title)
        TextView title;
        @ViewInject(R.id.image)
        ImageView image;

    }
}
7,在Main类里
import android.os.Bundle;
import android.widget.ListView;

import com.example.library.BaseActvity;
import com.example.library.http.MyCallback;

import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;

import java.util.ArrayList;
import java.util.List;
//初始化
@ContentView(R.layout.activity_main)
public class MainActivity extends BaseActvity {
    private List<Data.ResultBean.DataBean> list=new ArrayList<>();
    @ViewInject(R.id.lv)
    private ListView lv;
    private Myadapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        x.view().inject(this);
        adapter=new Myadapter(this,list,R.layout.item);
        lv.setAdapter(adapter);

        loaddata();

    }

    private void loaddata() {
        http().get("http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4",new MyCallback<Data>(){

                    @Override
                    public void success(Data data) {
                        list.addAll(data.getResult().getData());
                        adapter.notifyDataSetChanged();

                    }

                    @Override
                    public void error(Throwable throwable) {

                    }
                }
        );
    }


}

8:一下是两个布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="text.bawei.com.qwertyuiop.MainActivity">

    <ListView
        android:id="@+id/lv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativeLayout>

第二个布局
<?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"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@mipmap/ic_launcher"
        android:id="@+id/image"

        android:layout_weight="1" />

    <TextView
        android:text="TextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/title"

        android:layout_weight="1" />
</LinearLayout>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值