gpt4 book ai didi

android - AutoCompleteTextView、DropDown、setOnDismissListener、<17 api

转载 作者:行者123 更新时间:2023-11-29 01:18:53 27 4
gpt4 key购买 nike

求助

setOnDismissListener 仅适用于 API >=17

如何在低于 17 的 API 中检测 AutoCompleteTextView DropDowns 的出现和消失?

最佳答案

我已经在 API 级别 16 上进行了测试(运行良好)。但请问 Android 大师:我认为这不是很合适的方法,我期待您的明智建议:

把这段代码放到public class CustomAutoCompleteTextView extends AutoCompleteTextView

public void setupActv() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
Log.d("testThisShit", "on Dismiss");
}
});
} else {
try {
Field popup = AutoCompleteTextView.class.getDeclaredField("mPopup");
popup.setAccessible(true);
ListPopupWindow popupWindow = (ListPopupWindow) popup.get(this);

popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
Log.d("testThisShit", "on Dismiss < 17");
}
});

} catch (NoClassDefFoundError | ClassCastException | NoSuchFieldException | IllegalAccessException e) {
Log.d("testThisShit", e.getMessage());
}
}
}

关于android - AutoCompleteTextView、DropDown、setOnDismissListener、<17 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38060425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com