V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
DoodleSit
V2EX  ›  程序员

刚开始研究了下鸿蒙 HAP,然后~

  •  
  •   DoodleSit · 2020-10-15 16:00:49 +08:00 · 4473 次点击
    这是一个创建于 1530 天前的主题,其中的信息可能已经有所发展或是发生改变。

    摘一段代码:

    
    public class ListItemProvider extends RecycleItemProvider {
        private ArrayList<String> data = new ArrayList<>();
        private AbilitySlice mSlice;
    
        ListItemProvider(AbilitySlice abilitySlice) {
            mSlice = abilitySlice;
            for (int i = 0; i < 10; ++i) {
                data.add("test" + i);
            }
        }
    
        @Override
        public long getItemId(int i) {
            return 0;
        }
    
        @Override
        public int getCount() {
            return data.size();
        }
    
        @Override
        public Component getComponent(int position, Component convertView, ComponentContainer parent) {
            Component component = LayoutScatter.getInstance(mSlice).parse(ResourceTable.Layout_list_item, null, false);
            if (!(component instanceof ComponentContainer)) {
                return null;
            }
            ComponentContainer rootLayout = (ComponentContainer) component;
            Text leftText = (Text) rootLayout.findComponentById(ResourceTable.Id_left_content);
            leftText.setText(String.valueOf(position));
            Text rightText = (Text) rootLayout.findComponentById(ResourceTable.Id_right_content);
            rightText.setText(data.get(position));
            return component;
        }
    }
    
    

    想起小学的时候。。。作业真的多啊

    不论怎么说挺可以的了

    6 条回复    2020-10-15 23:01:44 +08:00
    kile
        1
    kile  
       2020-10-15 16:10:58 +08:00
    看着像 listView,但是可回收?
    DoodleSit
        2
    DoodleSit  
    OP
       2020-10-15 16:29:36 +08:00
    @kile 没错,RecycleItemProvider 里有个 cache
    yukiww233
        3
    yukiww233  
       2020-10-15 16:34:13 +08:00
    每个 api 都能对应上是为了方便你们迁移(狗头
    kile
        4
    kile  
       2020-10-15 17:48:24 +08:00
    @DoodleSit 有 recyclerview 封装么,listview 不好使
    Smash
        5
    Smash  
       2020-10-15 17:53:00 +08:00   ❤️ 2
    虽然我快 1 年半没写过 Android 代码了,但是这不是 Adapter 吗?换个 Provider 的名字?
    fansangg
        6
    fansangg  
       2020-10-15 23:01:44 +08:00
    说实话乍一看还没看出来是 adapter,毕竟可能 4 年没碰过 listview 了

    所以 Component == View,RecycleItemProvider == Adapter
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1324 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:45 · PVG 07:45 · LAX 15:45 · JFK 18:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.