-3

我需要使用相同的列表视图&其项目为两个不同的片段进行一些修改。如何隐藏适配器中的按钮视图?

这里(截图),(需要在不同的片段使用)

  • 我需要显示将添加到我的1布局的心愿& REMOVE & 1片段
  • 我需要到隐藏添加到愿望清单&删除我的第二版&第二个片段

我需要使用相同的适配器。

如何做到这一点?

enter image description here

UPDATE

cart_list_item.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="wrap_content" 
    android:descendantFocusability="blocksDescendants" 
    android:orientation="vertical"> 

    <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:card_view="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/cardlist_item" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="12dp" 
     android:layout_marginLeft="5dp" 
     android:layout_marginRight="5dp" 
     android:background="@drawable/curved_shape" 
     android:orientation="vertical" 
     card_view:cardElevation="2dp"> 


     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@color/white" 
       android:orientation="horizontal"> 

       <ImageView 
        android:layout_width="80dp" 
        android:layout_height="80dp" 
        android:layout_margin="14dp" 
        android:layout_marginRight="14dp" 
        android:src="@drawable/image_4" /> 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" 
        android:layout_margin="12dp" 
        android:orientation="vertical"> 

        <TextView 
         android:id="@+id/cartProduct" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginTop="8dp" 
         android:text="Fusce veh" 
         android:textColor="#9F9F9F" /> 

        <TextView 
         android:id="@+id/cartQuantity" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginTop="8dp" 
         android:text="100 g" 
         android:textColor="#9F9F9F" /> 

        <LinearLayout 
         android:layout_width="225dp" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_vertical" 
         android:orientation="horizontal" 
         android:weightSum="1"> 

         <TextView 
          android:id="@+id/symbol" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginTop="8dp" 
          android:text="Rs " 
          android:textColor="#9F9F9F" /> 

         <TextView 
          android:id="@+id/cartPrice" 
          android:layout_width="0dp" 
          android:layout_height="wrap_content" 
          android:layout_marginRight="10dp" 
          android:layout_marginTop="8dp" 
          android:layout_weight="0.45" 
          android:text="19.99" 
          android:textColor="#9F9F9F" /> 

         <TextView 
          android:id="@+id/cartPriceDum" 
          android:layout_width="0dp" 
          android:layout_height="wrap_content" 
          android:layout_marginRight="10dp" 
          android:layout_marginTop="8dp" 
          android:layout_weight="0.45" 
          android:text="19.99" 
          android:textColor="#9F9F9F" 
          android:visibility="gone" /> 

         <ImageView 
          android:id="@+id/ivDecrease" 
          android:layout_width="0dp" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="10dp" 
          android:layout_weight="0.1" 
          android:focusable="false" 
          android:focusableInTouchMode="false" 
          android:src="@drawable/ic_action_expand" /> 

         <TextView 
          android:id="@+id/cartCount" 
          android:layout_width="0dp" 
          android:layout_height="wrap_content" 
          android:layout_gravity="center" 
          android:layout_marginLeft="1dp" 
          android:layout_marginRight="1dp" 
          android:layout_weight="0.2" 
          android:gravity="center" 
          android:text="1" 
          android:textSize="15dp" 
          android:textStyle="bold" /> 

         <ImageView 
          android:id="@+id/ivIncrease" 
          android:layout_width="0dp" 
          android:layout_height="wrap_content" 
          android:layout_weight="0.1" 
          android:focusable="false" 
          android:focusableInTouchMode="false" 
          android:src="@drawable/ic_action_collapse" /> 
        </LinearLayout> 
       </LinearLayout> 
      </LinearLayout> 

      <View 
       android:layout_width="match_parent" 
       android:layout_height="1dip" 
       android:background="#E4E4E4" /> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="#F8F8F8" 
       android:descendantFocusability="blocksDescendants" 
       android:orientation="horizontal" 
       android:weightSum="1"> 

       <Button 
        android:id="@+id/addTowish" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="0.5" 
        android:background="#F8F8F8" 
        android:focusable="false" 
        android:focusableInTouchMode="false" 
        android:text="ADD TO WISHLIST" 
        android:textColor="#787878" /> 

       <View 
        android:layout_width="1dip" 
        android:layout_height="match_parent" 
        android:background="#E4E4E4" /> 

       <Button 
        android:id="@+id/remove" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="0.5" 
        android:background="#F8F8F8" 
        android:focusable="false" 
        android:focusableInTouchMode="false" 
        android:text="REMOVE" 
        android:textColor="#787878" /> 
      </LinearLayout> 
     </LinearLayout> 
    </android.support.v7.widget.CardView> 
</LinearLayout> 
+0

您将不得不在您的适配器中使用数组,并根据视图持有者中设置的可见性。 –

+0

需要从不同的片段使用此布局。所以我需要知道适配器类是从哪个片段(1st或2nd)调用的。有可能知道吗? –

+0

发布你的代码... –

回答

1

使用条件基础上,你必须在你的适配器使用:

holder.textView1.setVisibility(View.VISIBLE); 

holder.textView2.setVisibility(View.GONE); 

检查:

在事务中添加片段时,应该使用标记。

fragTrans.replace(android.R.id.content, myFragment, "MY_FRAGMENT"); 

后,如果您想检查片段可见:

MyFragment myFragment = (MyFragment)getFragmentManager().findFragmentByTag("MY_FRAGMENT"); 
if (myFragment != null && myFragment.isVisible()) { 
    // add your code here 
} 

一旦你当前片段,你可以得到从片段适配器类被调用。

+0

需要使用此布局不同的片段。所以我需要知道适配器类是从哪个片段(1st或2nd)中调用的。有可能知道吗? –

+0

好吧@Amit Vaghela –

+0

检查这个获取片段名为http://stackoverflow.com/questions/9294603/get-currently-displayed-fragment –

1

试试这个
把你的购物车项目在不同的arraylist和显示arraylist在您的购物车。然后当点击删除时,从arralist中删除该项目并调用notifyDataSetChanged()。在适配器上。 希望它有帮助。由于

1

添加构造函数定义适配器类需要片段的名称作为字符串,以便您可以检查适配器类是从所谓的该片段

适配器添加构造为:

String fragmentName; 

public CustomAdapter(String fragmentName) { 
    super(); 
    this.fragmentName = fragmentName; 
} 

然后用它getView()方法如下:

if(fragmentName.equals("Fragment1")) 
    { 
     addTowish.setVisibility(View.VISIBLE); 
    } 
    else 
    { 
     addTowish.setVisibility(View.GONE); 
    }