在ExpandableListView中,当用户单击键盘上的完成按钮时,可能会触发ExpandableListView中的getChildView方法。为了避免这种情况发生,可以通过以下方法进行处理:
以下是一个示例代码:
expandableListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
@Override
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
// 处理组点击事件
return false;
}
});
expandableListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
// 处理子项点击事件
return false;
}
});
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
// 关闭键盘焦点,避免调用ExpandableListView中的getChildView方法
editText.clearFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
return true;
}
return false;
}
});
这样,在用户单击键盘上的完成按钮时,就可以避免调用ExpandableListView中的getChildView方法。
新知·音视频技术公开课
腾讯位置服务技术沙龙
技术创作101训练营
云+社区技术沙龙[第14期]
腾讯技术创作特训营第二季第2期
高校公开课
DBTalk技术分享会
云+社区技术沙龙[第22期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第18期]
领取专属 10元无门槛券
手把手带您无忧上云