如何在android中使用两个不同的标签同时实现列表视图项单击事件?

时间:2013-06-04 10:43:34

标签: android android-listview

我有一个列表视图。 在这个列表视图中我使用了布局,在下面的布局中我使用了一个内部布局,默认为 GONE , 但是当我点击其他列表视图项时,布局是可见的,我想隐藏最后点击的布局。当前点击的项目布局仅在列表视图中展开

线性亚马逊布局展开并展开

  

图片1

enter image description here

  

图片2目前看错了

enter image description here

我想要的图片3?

enter image description here

  

Layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearamazondata"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/darkgray"
    android:orientation="vertical"
    android:padding="5dp" >

    <LinearLayout
        android:id="@+id/linearamazon"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@android:color/white"
        android:orientation="horizontal"
        android:weightSum="3" >

        <LinearLayout
            android:id="@+id/linearimage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@color/darkgray"
            android:orientation="horizontal" 
            android:paddingRight="5dp">

            <ImageView
                android:id="@+id/imageviewhas"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_marginRight="5dp"
                android:scaleType="fitXY" />
        </LinearLayout>

        <TextView
            android:id="@+id/texttitle"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="1dp"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:layout_marginTop="1dp"
            android:layout_weight="1"
            android:background="@color/darkgray"
            android:gravity="center"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:singleLine="true"
            android:text="title"
            android:textColor="@android:color/white" />

        <TextView
            android:id="@+id/textdescription"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="1dp"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:layout_marginTop="1dp"
            android:layout_weight="1"
            android:background="@color/darkgray"
            android:gravity="center"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:singleLine="true"
            android:text="description"
            android:textColor="@android:color/white" />

        <TextView
            android:id="@+id/textprice"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="1dp"
            android:layout_marginLeft="1dp"
            android:layout_marginRight="1dp"
            android:layout_marginTop="1dp"
            android:layout_weight="1"
            android:background="@color/darkgray"
            android:gravity="center"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:singleLine="true"
            android:text="price"
            android:textColor="@android:color/white" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearimageamazon"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_gravity="right"
        android:padding="5dp"
        android:visibility="gone" >

        <Button
            android:id="@+id/buttonreview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dp"
            android:background="@drawable/review" />

        <Button
            android:id="@+id/buttonview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="25dp"
            android:background="@drawable/icon" />

        <Button
            android:id="@+id/buttonaddproducts"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:background="@drawable/addproducts" />
    </LinearLayout>

</LinearLayout>
  

Lazy Adapter中使用的短代码

 holder.linearLayoutamazondata.setOnClickListener(new OnClickListener()
      {
           @Override
           public void onClick(View v)
           {  
              if (holder.linearimageamazon.getVisibility() == View.VISIBLE) 
              {      
                    holder.linearLayoutamazondata.setBackgroundResource(R.color.darkgray);
                holder.linearimageamazon.setVisibility(View.GONE);
              } 
              else 
              {    
                   holder.linearLayoutamazondata.setBackgroundResource(R.color.cblack);
                   holder.linearimageamazon.setVisibility(View.VISIBLE);    
              }
         }
        });

0 个答案:

没有答案