写了一个按钮,并给按钮设置了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();
}
}
楼主你好,看了你的代码写法,据我所知在鸿蒙应用中是通过调用
findComponentById(ResourceTable.Id_button)
方法来获取按钮实例对象,如果该方法返回null,说明没有找到对应的按钮,点击事件自然无法触发。所以需要确定在
main
布局文件(ResourceTable.Layout_main
)中正确设置了按钮的id为button
,同时还要在AbilitySlice
的onStart
方法中调用了super.setUIContent(ResourceTable.Layout_main)
,以正确加载布局文件。