首页 > 解决方案 > 将商品添加到购物车列表

问题描述

我创建了一个安卓应用程序。在该应用程序中,当我单击添加时,将项目添加到数组列表中,并且我想在购物车活动中显示此数组列表。怎么做。

这是我的活动1

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);
}

和购物车活动是

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

    }

它显示吐司,但我在这里输入代码希望在列表视图中显示

标签: android

解决方案


请在CartActivity中查看列表视图并根据您的需要(UI)创建自定义适配器。将MainActivity.cartItems这个列表传递给 Adapter。它将开始显示在您的CartActivity中。

你可以看到下面的例子:

公共类 CustomAdapter 扩展 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);

推荐阅读