日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(3.1)HarmonyOS鸿蒙单击事件4种写法

發(fā)布時間:2023/12/2 编程问答 88 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (3.1)HarmonyOS鸿蒙单击事件4种写法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第二種和第四種常用

實現步驟:
1.通過id找到組件。
2.給需要的組件設置單擊事件。
3.實現ClickedListener接口。
4.重寫onClicked方法。


第一種,自定義實現類(在當前類外面寫實現類)

①MainAbilitySlice.java文件

package com.example.yeman.slice;import com.example.yeman.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Button; import ohos.agp.components.Component;public class MainAbilitySlice extends AbilitySlice {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//找到按鈕。// 說明:findComponentById返回的是父類對象所有組件,因此需要(Button)強轉。Button but = (Button) findComponentById(ResourceTable.Id_but);//給按鈕綁定一個點擊事件but.setClickedListener(new MyListenner());}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);} }//第一種,自定義實現類 class MyListenner implements Component.ClickedListener{@Overridepublic void onClick(Component component) {//component所有組件的父類//參數是被點擊的組件Button btn = (Button)component;btn.setText("第1種被點");} }

②ability_main.xml文件

<?xml version="1.0" encoding="utf-8"?> <DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:alignment="center"ohos:orientation="vertical"><Buttonohos:id="$+id:but"ohos:height="match_content"ohos:width="match_content"ohos:background_element="blue"ohos:text="請點擊我"ohos:text_size="150"/></DirectionalLayout>

第二種,當前類作為實現類(在當前類引入)
比第一種好在可以改變其他組件,如代碼中,點擊按鈕,修改文本組件文本內容。

①MainAbilitySlice.java文件

package com.example.yeman.slice;import com.example.yeman.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Button; import ohos.agp.components.Component; import ohos.agp.components.Text;public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener{Text txt;@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//找到按鈕。// 說明:findComponentById返回的是父類對象所有組件,因此需要(Button)強轉。Button but = (Button) findComponentById(ResourceTable.Id_but);//找到文本框組件txt = (Text) findComponentById(ResourceTable.Id_txt);//給按鈕綁定一個點擊事件but.setClickedListener(this);}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}//第二種,當前實現類@Overridepublic void onClick(Component component) {//component所有組件的父類//參數是被點擊的組件txt.setText("你點擊了按鈕");} }

②ability_main.xml文件

<?xml version="1.0" encoding="utf-8"?> <DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:alignment="center"ohos:orientation="vertical"><Textohos:id="$+id:txt"ohos:height="match_content"ohos:width="match_content"ohos:text="這是文本組件"ohos:text_size="100"/><Buttonohos:id="$+id:but"ohos:height="match_content"ohos:width="match_content"ohos:background_element="blue"ohos:text="請點擊我"ohos:text_size="150"/></DirectionalLayout>

第三種,匿名內部類(只能用一次)

①MainAbilitySlice.java文件

package com.example.yeman.slice;import com.example.yeman.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Button; import ohos.agp.components.Component; import ohos.agp.components.Text;public class MainAbilitySlice extends AbilitySlice {Text txt;@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//找到按鈕。// 說明:findComponentById返回的是父類對象所有組件,因此需要(Button)強轉。Button but = (Button) findComponentById(ResourceTable.Id_but);//找到文本框組件txt = (Text) findComponentById(ResourceTable.Id_txt);//給按鈕綁定一個點擊事件but.setClickedListener(new Component.ClickedListener() { //第三種,匿名內部類@Overridepublic void onClick(Component component) {//component所有組件的父類//參數是被點擊的組件txt.setText("你點擊了按鈕");}});}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}}

②ability_main.xml文件同第二種


第四種,引用方法

①MainAbilitySlice.java文件

package com.example.yeman.slice;import com.example.yeman.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Button; import ohos.agp.components.Component; import ohos.agp.components.Text;public class MainAbilitySlice extends AbilitySlice {Text txt;@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_main);//找到按鈕。// 說明:findComponentById返回的是父類對象所有組件,因此需要(Button)強轉。Button but = (Button) findComponentById(ResourceTable.Id_but);//找到文本框組件txt = (Text) findComponentById(ResourceTable.Id_txt);//給按鈕綁定一個點擊事件but.setClickedListener(this::onClick);}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}//第四種,引用方法public void onClick(Component component) {//component所有組件的父類//參數是被點擊的組件txt.setText("你點擊了按鈕");} }

②ability_main.xml文件同第二種

總結

以上是生活随笔為你收集整理的(3.1)HarmonyOS鸿蒙单击事件4种写法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。