鸿蒙自定义Dialog
public class SelectDialog {
private CommonDialog dialog;
private AbilitySlice mContext;
private ListContainer list_select;
private SelectListener selectListener;
private SelectItemProvider provider;
private int type;
private String[] list;
public SelectDialog(AbilitySlice mContext, SelectListener selectListener) {
this.mContext = mContext;
this.selectListener = selectListener;
}
public void setData(String[] list, int type) {
this.type = type;
this.list = list;
initView();
}
private void initView() {
if (dialog != null && dialog.isShowing()) {
dialog.destroy();
}
dialog = new CommonDialog(mContext);
LayoutScatter mLayoutInlater = LayoutScatter.getInstance(mContext);
Component view = mLayoutInlater.parse(ResourceTable.Layout_dialog_select, null, true);
list_select = (ListContainer) view.findComponentById(ResourceTable.Id_list_select);
provider = new SelectItemProvider(mContext, list);
list_select.setItemProvider(provider);
list_select.setItemClickedListener(new ListContainer.ItemClickedListener() {
@Override
public void onItemClicked(ListContainer listContainer, Component component, int pos, long l) {
if (selectListener != null) {
selectListener.select(pos, type);
}
dialog.destroy();
}
});
dialog.setSize(600, ComponentContainer.LayoutConfig.MATCH_CONTENT);
dialog.setContentCustomComponent(view);
}
public void show() {
if (mContext != null && dialog != null && !dialog.isShowing())
dialog.show();
}
public void dismiss() {
if (mContext != null && dialog != null && dialog.isShowing())
dialog.hide();
}
public interface SelectListener {
void select(int pos, int type);
}
}