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

2020-10-15 16:00:49 +08:00
 DoodleSit

摘一段代码:


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;
    }
}

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

不论怎么说挺可以的了

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

所以 Component == View,RecycleItemProvider == Adapter

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/715284

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX