当前位置: 首页 > wzjs >正文

网站推广排名最新报价泌阳县住房和城乡建设局网站

网站推广排名最新报价,泌阳县住房和城乡建设局网站,wordpress域名404,搜索引擎作弊的网站有哪些一、定义: 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 二、核心角色: 目标接口Target:客户端期待的接口。 被适配者Adaptee:需要被适配的类或数…

一、定义:

        把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

二、核心角色:

        目标接口Target:客户端期待的接口。

        被适配者Adaptee:需要被适配的类或数据源。

        适配器Adapter:将Adaptee转换成Target接口的对象。

三、简单示例:RecycleView的Adapter

1.被适配者:

// 被适配者:数据类
public class User {
    private String name;
    private int age;

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() { return name; }
    public int getAge() { return age; }
}
2.适配器:

// 适配器:将 List<User> 转换为 RecyclerView 所需的 Adapter 接口
public class UserAdapter extends RecyclerView.Adapter<UserAdapter.UserViewHolder> {

    private List<User> userList;

    public UserAdapter(List<User> userList) {
        this.userList = userList;
    }

    // 创建 ViewHolder
    @NonNull
    @Override
    public UserViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.item_user, parent, false);
        return new UserViewHolder(view);
    }

    // 绑定数据到 ViewHolder
    @Override
    public void onBindViewHolder(@NonNull UserViewHolder holder, int position) {
        User user = userList.get(position);
        holder.bind(user);
    }

    @Override
    public int getItemCount() {
        return userList.size();
    }

    // ViewHolder 内部类
    public static class UserViewHolder extends RecyclerView.ViewHolder {
        private TextView tvName;
        private TextView tvAge;

        public UserViewHolder(@NonNull View itemView) {
            super(itemView);
            tvName = itemView.findViewById(R.id.tv_name);
            tvAge = itemView.findViewById(R.id.tv_age);
        }

        public void bind(User user) {
            tvName.setText(user.getName());
            tvAge.setText("Age: " + user.getAge());
        }
    }
}

3.使用:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        RecyclerView recyclerView = findViewById(R.id.recycler_view);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));

        // 数据源(被适配者)
        List<User> users = new ArrayList<>();
        users.add(new User("Alice", 25));
        users.add(new User("Bob", 30));

        // 设置适配器
        UserAdapter adapter = new UserAdapter(users);
        recyclerView.setAdapter(adapter);
    }
}
 

四、应用场景:

        1.列表控件数据刷新

        2.多视图类型处理

        3.第三方库兼容

五、优缺点:

优点:

        1.解耦数据与UI

        2.支持多类型试图

        3.复用现有类或第三方库

缺点:

        1.增加代码复杂度。

        2.频繁数据刷新可能会影响性能。

http://www.dtcms.com/wzjs/813695.html

相关文章:

  • 同一ip 网站 权重公司外贸网站怎么做
  • 南海建设局网站wordpress 用户权限分配
  • 哪个网站上做自媒体最好菏泽网站获客网站建设公司
  • 模版网站建设全网营销全网推广
  • 宁国网站开发咖搭姆少儿编程加盟
  • 页面设计好看的网站宁夏住房和城乡建设厅网站首页
  • 网站收录查询情况wordpress主题中文乱码
  • 儿童网站欣赏网页设计与制作课程思政项目构建
  • 黄金网站软件app大全wordpress作者头像
  • 成都找人做网站wordpress 上线
  • 中国交通建设集团有限公司网站什么是企业型网站
  • 深圳网站开发外包哪家好苏州网络推广软件
  • 个人可以备案网站的内容广州学校论坛网站建设
  • 青州做网站的公司怎么找回网站后台密码
  • 做网站 工资高吗中国网站的特点
  • 河北网站制作报价义乌联合外发加工网
  • 专注高密做网站哪家好vs做网站怎样加数据库
  • 设计网站无锡网站建设公司要求什么
  • 朝阳建筑工程建设网站网站弹广告是什么样做的
  • 优化网站目录结构安全的网站建设公
  • ie 10 常用网站网站 的建设意义
  • 海洋网络做网站不负责淘宝免费推广软件
  • 外贸网站定制制作公司东莞做网站找微客巴巴
  • 网站留言表单是如何做的撰写网站的建设方案
  • 宁波高新区做网站的公司太原网站建设案例
  • 国外空间网站备案网站备案icp过期
  • 做韩国网站有哪些wordpress文章喜欢
  • 优化网站打开速度阿里云服务器使用教程
  • 建设飞鹰摩托车官方网站省建设安全监督站的网站
  • 龙岩网站制作公司网络推广方案怎么做