为什么不打印日志?
其他所有日志均有效,但儿童日志无效。
确实出现了文本视图的日志,但是当我使用编辑文本时,它不起作用。
为什么这样?我要去哪里错了?
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