所以我的expandablelistview看起来像(抱歉,我不能发布图片,我的声誉少于10)。在组项目布局文件中,我有一个textview&像这样的一个imageview:
Textview Imageview(info icon)
Textview Imageview(info icon)
我想要的是点击右侧的信息图标,它应该显示吐司几秒钟,提供有关此组的信息。如果我点击textview,它应该正常展开,在它下面显示子项。
我的2个布局文件如下所示: Mainlayout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<ExpandableListView
android:id="@+id/lvexp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:groupIndicator="@null"
android:background="@drawable/back">
</ExpandableListView>
</RelativeLayout>
GroupLayout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/lblheader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Large Text"
android:layout_weight="1.0"
android:gravity="center"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#24B9FF" />
<ImageView
android:id="@+id/help_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/info_icon"
android:layout_weight=".1"
android:paddingTop="12dp"
android:clickable="true"
android:paddingBottom="12dp" />
我如何处理点击imageview以显示toast。我已经实现了onGroupClick&amp;我可以在click上扩展组。但是我如何为Imageview实现点击监听?
请帮忙。我没有其他选择,只能在app中使用Expandablelistview。
答案 0 :(得分:1)
如何将此groupLayout xml
附加到您的适配器...实际上您必须在getGroupView()
内实施方法ExpandableListAdapter
。在那里,您可以扩充此布局并访问此布局中的所有视图,并为此布局编写单击侦听器。
好的..这是实现clicklisteners的示例getGroupView()供您参考:
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
View v = convertView;
if(v == null){
v= mInflator.inflate(R.layout.group_layout, null);
}
TextView text = (TextView )v.findViewById(R.id.your text id);
ImageView image = (ImageView)v.findViewById(R.id.your image id);
text .setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
///your code here
}
}
});
image .setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
///your code here
}
}
});
return v;
}