-1

在我的应用程序中,我正在使用“可扩展列表视图”。假设如果用户选择一个子行,我必须使该图像视图可见,否则不要。以下代码使我的图像视图在用户选择一个孩子时可见。但如果用户选择另一个孩子,则先前选择的子行图像也是可见的不想要那个..如果用户选择一个孩子,该孩子的图像视图应该是可见的。另外,如果我选择另一个组,则以前选择的“子行”不可见......

子行:

<?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);

请帮我解决这个问题..

4

2 回答 2

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 
  }
于 2013-07-04T12:36:47.880 回答
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);
    }
}
});

希望这会有所帮助。

于 2013-07-04T12:39:49.733 回答