Closed dylanZk1 closed 8 months ago
你可能需要:
PopMenu.show("添加", "编辑", "删除", "分享")
.setData("data", data)
.setIconResIds(R.mipmap.img_dialogx_demo_add, R.mipmap.img_dialogx_demo_edit, R.mipmap.img_dialogx_demo_delete, R.mipmap.img_dialogx_demo_share)
.setOnMenuItemClickListener(new OnMenuItemClickListener<PopMenu>() {
@Override
public boolean onClick(PopMenu dialog, CharSequence text, int index) {
Object data = dialog.getData("data");
// ...
return false;
}
});
我不是这个意思,你理解错了。你举的例子相对简单。我举个例子。例如有多个选项:上海,山东,天津,深圳。这四个选项分别对应一个A的实例。我通过转换规则 B,可以得到对应选项的文本,例如A实例 a1通过 B 可以得到上海,以此类推。而我选中上海后需要得到的是a1这个实例,并不是上海。按照现在的功能,因为只支持字符串,我需要先将每个A实例经过B规则得到对应选项字符串,选中拿到选项字符串后,我又要将这个字符串经过B的逆过程得到a1,这样就很麻烦。我想要的是,将每个A实例,以及转换规则 B 直接插入,内部通过 B 转换得到选项,选中后直接拿到 A实例。也就是说,本来 menuList 是 LinkedList String,现在要变成 LinkedList A,在 viewHolder 中 调用 B 规则得到选项字符串
dialog.setData 是不限制类型的,也就是说你可以传入你自己的 list,在 getData 后反得到这个 list,再通过 list.get(index) 即可获得对应的数据
可以是可以。但是这样有可能会带来show里面的list和data的list不一一对应。保险起见,最好还是改动一下。不过还是很感谢您耐心回复
长时间未收到回复暂时关闭了此问题,若有疑问请继续回复。此消息来自于自动化 Issues 处理 Bot,若问题严重或紧急你也可以通过反馈群联系到我:590498789
功能建议
需求描述:
目前我在做表单业务,有些选择初始数据并不是字符串,而是自定义的data类,选择后需要获取的是选项对应的data实例。而按目前的功能,默认只能插入字符串,这样就要做两次转换,逻辑上以及性能上都不太理想。如果可以插入自定义data以及转换规则接口,在显示的时候,单个item显示可以调用转换规则接口得到,选择的时候就可以直接获取到需要真实获取的数据,不再需要重新转换一遍