From 1c39096df93459a4cb125a6143deac1d93fef02b Mon Sep 17 00:00:00 2001 From: zm <87072237@qq.com> Date: Thu, 24 Jun 2021 16:04:21 +0800 Subject: [PATCH 1/2] BaseItemProvider --- widget/BaseAdapter.md | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 widget/BaseAdapter.md diff --git a/widget/BaseAdapter.md b/widget/BaseAdapter.md new file mode 100644 index 0000000..4f52170 --- /dev/null +++ b/widget/BaseAdapter.md @@ -0,0 +1,48 @@ +### **Adapter适配器** +>+ openharmony API: ohos.agp.components.BaseItemProvider +>+ openharmony SDK版本:2.1.1.20 以上 +>+ IDE版本:2.1.0.303 +>+ 实现方案:替换使用,使用方法如下: +```java +// 原列表级控件的适配器Adapter,鸿蒙化后为使用提供者BaseItemProvider,重写此类的方法,实现对数据条目的适配 +public class SampleItemProvider extends BaseItemProvider { + final List list; + final Context context; + public SampleItemProvider(List list, Context context) { + this.list = list; + this.context = context; + } + + @Override + public int getCount() { + return list == null ? 0 : list.size(); + } + @Override + public Object getItem(int position) { + if (list != null && position >= 0 && position < list.size()) { + return list.get(position); + } + return null; + } + @Override + public long getItemId(int position) { + return position; + } + @Override + public Component getComponent(int position, Component convertComponent, ComponentContainer componentContainer) { + final Component cpt; + if (convertComponent == null) { + cpt = LayoutScatter.getInstance(context).parse(ResourceTable.Layout_wearmenu_list_element, null, false); + } else { + cpt = convertComponent; + } + SampleItem sampleItem = list.get(position); + Text text = (Text) cpt.findComponentById(ResourceTable.Id_text); + text.setText(sampleItem.getName()); + Image image = (Image) cpt.findComponentById(ResourceTable.Id_imageButton); + image.setPixelMap(sampleItem.getImage()); + return cpt; + } + +} +``` -- Gitee From 183120e04507c6563e6fe5c0bc740d10a3244cfd Mon Sep 17 00:00:00 2001 From: zm <87072237@qq.com> Date: Thu, 24 Jun 2021 16:06:32 +0800 Subject: [PATCH 2/2] Checkbox --- widget/CheckBox.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 widget/CheckBox.md diff --git a/widget/CheckBox.md b/widget/CheckBox.md new file mode 100644 index 0000000..b4be3bd --- /dev/null +++ b/widget/CheckBox.md @@ -0,0 +1,18 @@ +### **setOnCheckedChangeListener(listener: CompoundButton.OnCheckedChangeListener?)** +>+ openharmony API: ohos.agp.components.Checkbox +>+ openharmony SDK版本:2.1.1.20 以上 +>+ IDE版本:2.1.0.303 +>+ 实现方案:替换使用,使用方法如下: +```java +// 先通过Ability. findComponentById(ResourceTable.Id_check_box_1)进行初始化checkbox, +// 再给checkbox设置一个点击事件,再实现点击监听类对该checkbox进行选择状态判断 +Checkbox checkbox = (Checkbox) findComponentById(ResourceTable.Id_pagerFather); +Component.ClickedListener clickedListener = new Component.ClickedListener(){ + + @Override + public void onClick(Component component) { + //do something + } +}; +checkbox.setClickedListener(clickedListener); +``` -- Gitee