如何隐藏适配器中的按钮视图?
我需要使用相同的列表视图&其项目为两个不同的片段进行一些修改。如何隐藏适配器中的按钮视图?
这里(截图),(需要在不同的片段使用)
- 我需要显示将添加到我的1布局的心愿& REMOVE & 1片段
- 我需要到隐藏添加到愿望清单&删除我的第二版&第二个片段
我需要使用相同的适配器。
如何做到这一点?
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>
使用条件基础上,你必须在你的适配器使用:
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
}
一旦你当前片段,你可以得到从片段适配器类被调用。
需要使用此布局不同的片段。所以我需要知道适配器类是从哪个片段(1st或2nd)中调用的。有可能知道吗? –
好吧@Amit Vaghela –
检查这个获取片段名为http://stackoverflow.com/questions/9294603/get-currently-displayed-fragment –
试试这个
把你的购物车项目在不同的arraylist和显示arraylist在您的购物车。然后当点击删除时,从arralist中删除该项目并调用notifyDataSetChanged()。在适配器上。 希望它有帮助。由于
添加构造函数定义适配器类需要片段的名称作为字符串,以便您可以检查适配器类是从所谓的该片段
适配器添加构造为:
String fragmentName;
public CustomAdapter(String fragmentName) {
super();
this.fragmentName = fragmentName;
}
然后用它getView()方法如下:
if(fragmentName.equals("Fragment1"))
{
addTowish.setVisibility(View.VISIBLE);
}
else
{
addTowish.setVisibility(View.GONE);
}
您将不得不在您的适配器中使用数组,并根据视图持有者中设置的可见性。 –
需要从不同的片段使用此布局。所以我需要知道适配器类是从哪个片段(1st或2nd)调用的。有可能知道吗? –
发布你的代码... –