在我的应用程序中,我正在使用“Expandable listview”。假设如果用户选择了一个子行,我必须使该imageview可见,否则不要。以下代码使我的imageview在用户选择子项时可见。但是如果用户选择另一个子项,则先前选择的子行图像也可见i我不想那样。如果用户选择一个孩子,那儿童的图像视图应该是可见的。如果我选择另一个组,之前选择的“子行”是不可见的......
儿童行:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tvPlayerName"
android:paddingLeft="10dip"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="30dip"
android:gravity="center_vertical"/>
<ImageView
android:id="@+id/selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:layout_centerVertical="true"
android:background="@drawable/tick_icon"/>
</RelativeLayout>
ImageView imageView=(ImageView)v.findViewById(R.id.selected);
imageView.setVisibility(View.VISIBLE);
请帮我解决这个问题..
答案 0 :(得分:1)
在child_row.xml中,ImageView的可见性消失了。然后在你的onChildClick()中使图像可见(imageview)
public boolean onChildClick(
ExpandableListView parent,
View v,
int groupPosition,
int childPosition,
long id) {
//Write the code for image visible
}
答案 1 :(得分:0)
试试这个
<?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="vertical" >
<TextView
android:id="@+id/tvPlayerName"
android:paddingLeft="10dip"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="30dip"
android:gravity="center_vertical"/>
<ImageView
android:id="@+id/selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_action_share"
android:visibility="invisible"/>
</LinearLayout>
在您的java类中
textView.setFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
imageView.setVisibility(ImageView.VISIBLE);
}
}
});
希望这会有所帮助。