gpt4 book ai didi

android - onChildClickListener 在 ExapandableListView 中没有响应

转载 作者:行者123 更新时间:2023-11-29 18:14:54 26 4
gpt4 key购买 nike

为什么没有打印日志?所有其他人的日志都在工作,但 child 不工作。

确实出现了 TextView 的日志,但是当我使用编辑文本时,它不起作用。

为什么会这样?我哪里错了?

ExpandableListView expListView;

expListView = getExpandableListView();

expListView.setAdapter(new ExAdapter(this));

expListView.setOnGroupExpandListener(new OnGroupExpandListener() {

@Override
public void onGroupExpand(int groupPosition) {
// TODO Auto-generated method stub

}

});

expListView.setOnGroupCollapseListener(new OnGroupCollapseListener() {

@Override
public void onGroupCollapse(int groupPosition) {
// TODO Auto-generated method stub

}

});

expListView.setOnChildClickListener(new OnChildClickListener() {

@Override
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
Log.i("Tag", "-------------------------------------------------");
return true;
}

});

代码已编辑------------

    @Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {

if(convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.name_child, null);

}

TextView txtFName = (TextView) convertView.findViewById(R.id.txtFname);
txtFName.setText(arrChildhintelements[groupPosition][childPosition]);


editFName = (EditText) convertView.findViewById(R.id.editFName);
editFName.setHint(arrChildhintelements[groupPosition][childPosition]);


editFName.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {

//doing somthing....

return false;
}

});

return convertView;
}

最佳答案

在没有看到代码的情况下,这只是一个猜测,但是 childCLickListener 可能正在使用该事件,因此它没有到达编辑文本,请尝试在 childClickListener 中返回 false

编辑

好吧,我刚刚用您的代码创建了一个小项目,但我无法触发 onCildClickListener,将其更改为 TextView 后效果很好。它与 EditText 有关(可能是它消耗了事件,或者它没有注册为点击,而是注册为焦点的变化,但我只是在这一点上猜测)。

所以在回答您的问题时,是否可能 - 我认为不可能。但我确实做了一个可能有用的小解决方法。

将 onTouchListener() 附加到 EditText 并检查 MotionEvent.ACTION_DOWN

关于android - onChildClickListener 在 ExapandableListView 中没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757154/

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