-3

I need to use same listview & its item for TWO different Fragment with some modification.

Here (Screenshot), (Need to use in Different Fragment)

  • I need to show the ADD TO WISHLIST & REMOVE in my 1st Layout & 1st Fragment
  • I need to hide the ADD TO WISHLIST & REMOVE in my 2nd Layout & 2nd Fragment

I need to use Same Adapter.

How to do this?

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>
Amit Vaghela
  • 22,772
  • 22
  • 86
  • 142
Parama Sudha
  • 2,583
  • 3
  • 29
  • 48

3 Answers3

1

Use condition based on that you have to use in your adapter :

holder.textView1.setVisibility(View.VISIBLE);

holder.textView2.setVisibility(View.GONE);

check :

When you add the fragment in your transaction you should use a tag.

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

later if you want to check if the fragment is visible:

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

Once you get current fragment, you can get that from which fragment adapter class is called.

Amit Vaghela
  • 22,772
  • 22
  • 86
  • 142
1

Add constructor to Custom adapter class which takes fragment name as string so that you can check adapter class is called from which fragment

Add Constructor in adapter as :

String fragmentName;

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

Then use it in getView() method as :

    if(fragmentName.equals("Fragment1"))
    {
        addTowish.setVisibility(View.VISIBLE);
    }
    else
    {
        addTowish.setVisibility(View.GONE);
    }
PpL
  • 21
  • 7
0

Try this
put you cart items in different arraylist and show that arraylist in your cart. Then when click on Remove then remove that item from arralist and call notifyDataSetChanged(). on adapter. Hope It helps. Thanks

Jagjit Singh
  • 1,909
  • 1
  • 14
  • 19