Fragment(展示适配器)

package com.bwei.zonghe_1.ui.fragment;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;

import com.bwei.zonghe_1.R;
import com.bwei.zonghe_1.data.bean.WangBean;
import com.bwei.zonghe_1.data.bean.ZongBean;
import com.bwei.zonghe_1.di.conter.HomeContractor;
import com.bwei.zonghe_1.di.presenter.WangPresenter;
import com.bwei.zonghe_1.ui.adapter.WangAdapter;
import com.bwei.zonghe_1.ui.adapter.ZongAdapter;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;

/**
 * Created by 杨柳 on 2018/9/21.
 */

public class HomeFragment extends Fragment implements  HomeContractor.WangIView{
    @BindView(R.id.text_sousuo)
    EditText textSousuo;
    @BindView(R.id.image_sao)
    ImageView imageSao;
    @BindView(R.id.recyc_grid)
    RecyclerView recycGrid;
    @BindView(R.id.recyc_zonghe)
    RecyclerView recycZonghe;
    Unbinder unbinder;
    private HomeContractor.WangIPresenter wangPresenter;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.home_layout, container, false);
        unbinder = ButterKnife.bind(this, inflate);
        return inflate;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //四.1
        wangPresenter = new WangPresenter();
        //四.2
        wangPresenter.attachView(this);
        //四.3
        wangPresenter.wangRequestData();
        //四.4
        wangPresenter.zongRequestData();

    }

    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
        //四.5
        wangPresenter.detachView(this);
    }

    @OnClick({R.id.text_sousuo, R.id.image_sao, R.id.recyc_grid, R.id.recyc_zonghe})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.text_sousuo:
                break;
            case R.id.image_sao:
                break;
            case R.id.recyc_grid:
                break;
            case R.id.recyc_zonghe:
                break;
        }
    }

    @Override
    public void wangData(WangBean wangBean) {
        ArrayList<WangBean.DataBean> list = new ArrayList<>();
        list.addAll(wangBean.getData());
        GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 2, GridLayoutManager.HORIZONTAL, false);
        WangAdapter wangAdapter = new WangAdapter(getContext(), list);
        recycGrid.setLayoutManager(gridLayoutManager);
        recycGrid.setAdapter(wangAdapter);
    }

    @Override
    public void onError(Throwable throwable) {
        Log.i("aaa",throwable+"");
    }

    @Override
    public void zongData(ZongBean zongBean) {
        ArrayList<ZongBean.MiaoshaBean.ListBeanX> list = new ArrayList<>();
        list.addAll(zongBean.getMiaosha().getList());
        LinearLayoutManager manager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false);
        recycZonghe.setLayoutManager(manager);
        ZongAdapter adapter = new ZongAdapter(getContext(), list);
        recycZonghe.setAdapter(adapter);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Android中,适配器是用于将数据绑定到视图的重要组件。以下是一些常见的Android适配器类型: 1. ArrayAdapter:用于将数组或列表数据绑定到ListView、GridView等视图。 2. BaseAdapter:是所有适配器的基类。通过扩展BaseAdapter类,可以创建自定义适配器。 3. CursorAdapter:用于将数据库中的数据绑定到视图,如ListView、GridView等。 4. SimpleCursorAdapter:是CursorAdapter的子类,用于将数据库中的数据绑定到ListView等视图。 5. RecyclerView.Adapter:用于将数据绑定到RecyclerView视图。 6. PagerAdapter:用于在ViewPager中管理多个视图的适配器。 7. FragmentPagerAdapter:是PagerAdapter的子类,用于在ViewPager中管理多个Fragment适配器。 8. FragmentStatePagerAdapter:是PagerAdapter的另一个子类,用于在ViewPager中管理大量Fragment适配器。 这些适配器类型可以根据不同的需求选择使用。 ### 回答2: Android适配器是一种用于数据的转换和展示的重要组件。根据功能和用途的不同,Android适配器可以分为以下几种类型: 1. ArrayAdapter:这是最常见的适配器类型之一,用于将数据绑定到ListView等控件上。它可以将数组或集合中的数据显示在列表中,并提供默认的布局。 2. BaseAdapter:这是一个抽象适配器类,继承它可以自定义适配器。BaseAdapter提供了对ListView等控件的底层操作,如数据绑定和视图重用。开发者可以根据自己的需求,实现自定义的适配器。 3. SimpleAdapter:SimpleAdapter是ArrayAdapter的一个子类,根据传入的数据和布局资源文件,将数据显示在ListView等控件上。和ArrayAdapter不同的是,SimpleAdapter可以将数据以键值对的形式进行绑定,并使用自定义的布局资源。 4. CursorAdapter:这种适配器用于连接数据库中的数据与视图,常用于将查询结果显示在ListView或GridView等控件上。CursorAdapter可以自动对数据库中的数据进行操作,并反映在UI上。 5. RecyclerViewAdapter:这是Android新推出的适配器类型,用于配合RecyclerView控件使用。RecyclerViewAdapter是RecyclerView的适配器,负责将数据绑定到RecyclerView上,并根据数据的变化更新视图。 总之,Android适配器类型繁多,开发者可以根据需求选择适合的适配器来操作数据,并将其展示在对应的UI控件上。适配器起到了连接数据和UI的桥梁作用,是Android开发中不可或缺的组件之一。 ### 回答3: 在Android开发中,适配器是用来将数据与界面进行绑定的桥梁。它负责将数据提供给视图,并将用户的操作反馈给相应的数据。Android中有多种适配器的类型,下面是一些常见的适配器种类: 1. ArrayAdapter: 这是最基本的适配器之一,用于将数据适配到ListView、Spinner等视图中。它接收一个数组或List作为数据源,并将每个元素呈现在视图中。 2. BaseAdapter: 这是一个抽象适配器类,可以自定义实现。它提供了一些基本方法,如获取数据源大小、获取指定位置的数据等,方便使用者根据自己的需求进行扩展。 3. RecyclerView.Adapter: 这是在Android支持库中引入的适配器,用于将数据适配到RecyclerView中。相较于ListView,RecyclerView具有更强大的布局和动画效果支持。 4. SimpleCursorAdapter: 这个适配器用于将数据适配到Cursor对象中,通常用于与数据库操作相关的界面。它可以将Cursor中的数据显示在ListView等视图中。 除了以上几种基本适配器,还有一些特殊用途的适配器,如SpinnerAdapter用于将数据适配到Spinner中,CursorAdapter用于将数据适配到ListView中的Cursor等。 值得一提的是,为了提高性能和良好的用户体验,通常建议使用数据绑定库,如DataBinding或ViewBinding,来自动生成适配器代码,简化开发过程。这些库可以根据数据源自动创建适配器,并处理视图与数据的更新和绑定,减少手动编写适配器的工作量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值