1

I have created an android application. in that application when I click on add, item added to the array list and this array list I want to show in Cart Activity. how to do that.

here is my activity1

public void addShirt(View view) {
    MainActivity.cartItems.add(getString(R.string.shirt));
}
public void addPant(View view) {
    MainActivity.cartItems.add(getString(R.string.pant));
}
public void view(View view) {
    Intent i =new Intent(OnlyIron.this,CartActivity.class);
    startActivity(i);
}

and cart activity is

for(int i=0; i<MainActivity.cartItems.size();i++) {
        Toast.makeText(this, "item : " + MainActivity.cartItems.get(i), Toast.LENGTH_SHORT).show();

    }

it showing toast but I enter code here want this show in listview

Pradip
  • 11
  • 1
  • Possible duplicate of [How do I pass data between Activities in Android application?](https://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-in-android-application) – Vladyslav Matviienko Dec 03 '18 at 09:48

2 Answers2

0

First lets Create model class and store data in it.

public class Cart {
   private String id;
   private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Now to add items in that list i would call it this way :

 private ArrayList<Cart > cart_array;
 cart_array= new ArrayList<>();

Cart cart1 = new Cart ();
     cart.setId("1");
     cart.setName("first product");

Cart cart2 = new Cart ();
     cart.setId("2");
     cart.setName("first product");

Cart cart3 = new Cart ();
     cart.setId("3");
     cart.setName("first product");

//and than add your model into array 


cart_array.add(cart1);
cart_array.add(cart2);
cart_array.add(cart3);

//and finaly set your adapter 

Cart_Adapter adapter = new Cart_Adapter(cart_array, getActivity());
Recycler.setAdapter(adapter );
Hossam Hassan
  • 795
  • 2
  • 13
  • 39
0

Please take a list view in CartActivity & create an Custom Adapter as according to your need(UI). Pass the MainActivity.cartItems this list to Adapter. It will start to show in your CartActivity.

You can see below example:

public class CustomAdapter extends BaseAdapter{

     Activity mContext;
       public ArrayList<String> mCartList = new ArrayList<String>();
        private LayoutInflater mInflater=null;

        public CustomAdapter(Activity activty, ArrayList<String> list)
        {
            this.mContext = activty;
            mInflater = activty.getLayoutInflater();
            this.mCartList=list;

        }

        @Override
        public int getCount() {
            if (mCartList != null){
                return mCartList.size();
            } else{
                return 0;
            }
        }

        @Override
        public String getItem(int arg0) {
            return mCartList.get(arg0);
        }

        @Override
        public long getItemId(int index) {
            return index;
        }

        @Override
        public View getView(final int position, View convertView, ViewGroup arg2) {
            final ViewHolder holder;
            if (convertView == null ) {        
                holder = new ViewHolder();
                convertView = mInflater.inflate(R.layout.item_layout, null);             
                holder.mItemNameTV= (TextView) convertView.findViewById(R.id.itemtv);        
                convertView.setTag(holder);
            }
            else {
                holder = (ViewHolder) convertView.getTag();
            }

             holder.mNameTV.setText(mCartList.get(position));        

            return convertView;
        }


        private static class ViewHolder {
            TextView mNameTV;

        }

    }

    // Item Layout 

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="@dimen/forty_dp"
        android:gravity="center_horizontal"
        android:orientation="vertical">

        <TextView
            android:id="@+id/fieldTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/five_dp"
            android:layout_weight="0.4"
            android:padding="@dimen/ten_dp"
            android:text="Custom Field"
            android:textColor="@color/dark_gray_color"
            android:textSize="@dimen/normal_font_size"
            android:visibility="visible" />        

    </LinearLayout>


// Let Suppose your CartActivity is following:

 ListView mListView = (ListView)findViewById(R.id.listview);
 CustomAdapter adapter = new CustomAdapter(this, MainActivity.cartItems);
 mListView.setAdapter(adapter);