BANNER轮播图+WEBVIEW(MVP+OKHTTP)

1:<com.youth.banner.Banner

    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="150dp">
</com.youth.banner.Banner>

2:GlideImageLoader

public class GlideImageLoader extends ImageLoader{

    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load((String) path).into(imageView);
    }
}

3:public class MainActivity extends AppCompatActivity implements IClassifyView,IListView{

    //注入P层
    IClassifyPresenter presenter;
    IListPresenter listPresenter;
    private RecyclerView recyclerView,recyclerView_list;
    //适配器
    private ClassifyAdapter adapter;
    private ListAdapter listAdapter;
    private Banner banner;
    private List<String> list = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        presenter=new ClassifyPresenter(this);
        presenter.getClassify();
        listPresenter=new ListPresenter(this);
        listPresenter.getList();
        initView();
        initClassify();
        initList();
    }
    //列表
    private void initList() {
      //获取资源id
        recyclerView_list=findViewById(R.id.recyclerview2);
        //布局挂你器
        LinearLayoutManager manager=new LinearLayoutManager(this);
        recyclerView_list.setLayoutManager(manager);
        //分割线
        recyclerView_list.addItemDecoration(new DividerItemDecoration(this,OrientationHelper.VERTICAL));
        listAdapter=new ListAdapter(this);
        recyclerView_list.setAdapter(listAdapter);
        listAdapter.setOnItemClickListener(new ListAdapter.ItemClickListener() {
            @Override
            public void onItemClick(int position) {
                Toast.makeText(MainActivity.this,"你点击了:"+position,Toast.LENGTH_LONG).show();
                Intent intent=new Intent(MainActivity.this,ProductActivity.class);
                startActivity(intent);
            }
        });
    }

    //小的分类
    private void initClassify() {
        //获取资源id
        recyclerView=findViewById(R.id.recyclerview1);
        //布局管理器
        GridLayoutManager manager=new GridLayoutManager(this,2, OrientationHelper.HORIZONTAL,false);
       recyclerView.setLayoutManager(manager);
       //分割线
        recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
            @Override
            public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
                outRect.left = 10;
                outRect.top = 10;
                outRect.top = 10;
            }
        });
        adapter=new ClassifyAdapter(this);
        recyclerView.setAdapter(adapter);
    }
    //banner轮播图
    private void initView() {
        banner=findViewById(R.id.banner);
        OK.getOk().doGet("https://www.zhaoapi.cn/quarter/getAd", new OkCallback() {
            @Override
            public void onUI(String json) {
                Gson gson=new Gson();
                BannerData data = gson.fromJson(json, BannerData.class);
                //设置图片加载器
                final List<BannerData.DataBean> data1 = data.getData();
                for (int i = 0;i<data1.size();i++){
                    String icon = data1.get(i).getIcon();
                    list.add(icon);
                    Log.i("YAG",list.size()+"");
                }
                banner.setImageLoader(new GlideImageLoader());
                banner.setImages(list);
                banner.setDelayTime(3000);
                banner.start();
                //点击跳转webview
                banner.setOnBannerListener(new OnBannerListener() {
                    @Override
                    public void OnBannerClick(int position) {
                        Intent intent=new Intent(MainActivity.this,WebViewActivity.class);
                        intent.putExtra("url",data1.get(position).getUrl());
                        startActivity(intent);
                    }
                });
            }
            @Override
            public void onFailed(String json) {
            }
        });

    }
   //展示分类数据
    @Override
    public void showData(List<ClassifyData.DataBean.DisplayBean> display) {
      adapter.addData(display);
    }
    //展示列表数据
    @Override
    public void showList(List<ListData.DataBean> data) {
        listAdapter.addData(data);
    }
}

4:接口回调

private ItemClickListener listener;
public void setOnItemClickListener( ItemClickListener listener) {
    this.listener = listener;
}
public interface ItemClickListener{
    void onItemClick(int position);
}
if(listener!=null){
    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            listener.onItemClick(position);
        }
    });
}

6:webview

<FrameLayout 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"
    tools:context="com.bawei.keng.yuekao_moni.WebViewActivity">
    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </WebView>

</FrameLayout>

7:

public class WebViewActivity extends AppCompatActivity {
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web_view);
        //获取资源id
        webView=findViewById(R.id.webview);
        //得到穿过来的值
        Intent intent = getIntent();
        String url = intent.getStringExtra("url");
        webView.loadUrl(url);
    }
}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值