鸿蒙应用点击按钮时为什么没有触发点击事件?

写了一个按钮,并给按钮设置了ClickListener,点击没有反应,是因为没有获取到这个实例对象吗?

public class MyAbility extends Ability {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_main);

        Button button = (Button) findComponentById(ResourceTable.Id_button);
        button.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                showToast("hello word");
            }
        });
    }

    private void showToast(String message) {
        ToastDialog toastDialog = new ToastDialog(this);
        toastDialog.setText(message).show();
    }
}
阅读 720
1 个回答

楼主你好,看了你的代码写法,据我所知在鸿蒙应用中是通过调用findComponentById(ResourceTable.Id_button)方法来获取按钮实例对象,如果该方法返回null,说明没有找到对应的按钮,点击事件自然无法触发。

所以需要确定在main布局文件(ResourceTable.Layout_main)中正确设置了按钮的id为button,同时还要在AbilitySliceonStart方法中调用了super.setUIContent(ResourceTable.Layout_main),以正确加载布局文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏