Android 无法在expandablelistview中单击imageview
我是stackoverflow的新手,非常感谢这样一个grt网站。我在Android 无法在expandablelistview中单击imageview,android,android-layout,expandablelistview,expandablelistadapter,Android,Android Layout,Expandablelistview,Expandablelistadapter,我是stackoverflow的新手,非常感谢这样一个grt网站。我在expandablelistview方面遇到问题。我在列表项中有一个imageview,但每当我点击imageview时,什么都不会发生。我已经搜索了stackoverflow并得到了添加的建议 android:focusable=false android:focusableInTouchMode=false android:clickable=true 对于imageview,当我点击imageview时,什么都不会发
expandablelistview
方面遇到问题。我在列表项中有一个imageview
,但每当我点击imageview
时,什么都不会发生。我已经搜索了stackoverflow并得到了添加的建议
android:focusable=false
android:focusableInTouchMode=false
android:clickable=true
对于imageview
,当我点击imageview
时,什么都不会发生,但当我点击列表项,然后点击imageview
时,它会起作用,我对这种行为感到困惑。请你告诉我为什么会这样,我做错了什么
我的布局是
处理单击事件的代码:
expListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v,
final int groupPosition, final int childPosition, long id) {
ImageView delete = (ImageView) v.findViewById(R.id.delete);
TextView text_click = (TextView) v
.findViewById(R.id.lblListItem);
text_click.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(),
Recitation.class);
i.putExtra("surah_index",
uniqueSurahs.get(groupPosition));
i.putExtra("ayah", aaa.get(childPosition).getAyah());
startActivity(i);
}
});
delete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(
Bookmarks.this);
builder.setMessage("Do you want to remove?");
builder.setCancelable(false);
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
List<String> child = listDataChild
.get(listDataHeader
.get(groupPosition));
System.out.println("Surah:"+uniqueSurahs
.get(groupPosition));
System.out.println("Ayah:"+aaa.get(childPosition+1)
.getAyah());
bookmarkHandler
.deleteBookmark(new BookmarkDAO(
uniqueSurahs
.get(groupPosition),
aaa.get(childPosition+1)
.getAyah()));
//aaa.remove(childPosition);
child.remove(childPosition);
listAdapter.notifyDataSetChanged();
}
});
builder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
return false;
}
});
expListView.setOnChildClickListener(新的OnChildClickListener(){
@凌驾
公共布尔onChildClick(ExpandableListView父视图,视图v,
final int groupPosition、final int childPosition、long id){
ImageView delete=(ImageView)v.findViewById(R.id.delete);
文本视图文本\单击=(文本视图)v
.findviewbyd(R.id.lblListItem);
text\u click.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg0){
意图i=新意图(getApplicationContext(),
背诵课);
i、 putExtra(“surah_指数”,
uniqueSurahs.get(groupPosition));
i、 putExtra(“ayah”,aaa.get(childPosition.getAyah());
星触觉(i);
}
});
delete.setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
AlertDialog.Builder=新建AlertDialog.Builder(
书签;
setMessage(“是否要删除?”);
builder.setCancelable(false);
builder.setPositiveButton(“是”,
新建DialogInterface.OnClickListener(){
公共void onClick(对话框接口对话框,
int id){
List-child=listDataChild
.get(listDataHeader)
.get(groupPosition));
System.out.println(“Surah:+uniqueSurahs
.get(groupPosition));
System.out.println(“Ayah:+aaa.get(childPosition+1))
.getAyah());
书签处理程序
.deleteBookmark(新书签)(
独特苏拉
.get(groupPosition),
aaa.get(子位置+1)
.getAyah());
//aaa.移除(儿童位置);
儿童。移除(儿童位置);
listAdapter.notifyDataSetChanged();
}
});
builder.setNegativeButton(“否”,
新建DialogInterface.OnClickListener(){
公共void onClick(对话框接口对话框,
int id){
dialog.cancel();
}
});
AlertDialog AlertDialog=builder.create();
alertDialog.show();
}
});
返回false;
}
});
谢谢和问候
Imran您是否已将
clickListener
设置为图像视图
?您是否已尝试在ExpandableListView
上设置android:DegenantFocusability=“BeforeDegenders”
?您似乎正在另一个侦听器中设置侦听器。我对ExpandableListView知之甚少,但它看起来很奇怪,在你点击某个项目之前,你的视图不会有侦听器。是的,我尝试过android:DegenantFocusability=“BeforeMedients”但第一次单击时,完整列表项将亮起,然后第二次单击时,图像视图将可单击。是的,我正在列表项的“单击侦听器”内部的“图像视图”上设置“单击侦听器”,因为“单击侦听器”外部的视图将不可用