如何从Android Studio中获取arraylist [英] How to get the arraylist out android studio

查看:945
本文介绍了如何从Android Studio中获取arraylist的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

ArrayList在其他页面上时,我无法将其退出.我想将ArrayList退出Android Studio.

I am unable to get my ArrayList out when it's on a different page. I would like to get the ArrayList out Android Studio.

这是CartActivity类:

public class CartActivity extends AppCompatActivity {
    private ArrayList<CartItem> cartList;
    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cart);

        listView = (ListView) findViewById(R.id.listView);
        CartAdapter adapter = null;
        cartList = new ArrayList<>();
        adapter = new CartAdapter(this, R.layout.adapter_cart_item, cartList);
        listView.setAdapter(adapter);
    }
}

这是ProductActivity类.这是将数据存储到ArrayList:

This is ProductActivity class. It's where the data is being stored into the ArrayList:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_product);
    myDB = new DatabaseHelper(ProductActivity.this);
    textViewPrice = (TextView) findViewById(R.id.textViewPrice);
    textViewInfo = (TextView) findViewById(R.id.textViewInfo);
    textViewName = (TextView) findViewById(R.id.textViewName);
    ivProduct = (ImageView) findViewById(R.id.ivProduct);
    btnAddToCart = (Button) findViewById(R.id.btnAddToCart);
    spinnerQuantity = (Spinner) findViewById(R.id.spinnerQuantity);


    Intent in = getIntent();
    Bundle b = in.getExtras();
    userID = b.getString("userID");
    productID = b.getInt("productID");
    Cursor results = myDB.checkProduct();
    if (results.getCount() == 0) {
        Toast.makeText(getApplicationContext(), "Error: no data found!",
                Toast.LENGTH_SHORT).show();
        return;
    } else {
        StringBuffer buffer = new StringBuffer();
        while (results.moveToNext()) {
            id = results.getInt(0);
            name = results.getString(1);
            price = results.getString(2);
            info = results.getString(4);
            quantity = Integer.parseInt(results.getString(5));
            image = results.getBlob(6);
            if (id == productID) {
                textViewName.setText(name);
                textViewInfo.setText(info);
                textViewPrice.setText("S$" + price);

                int[] quantityValues = new int[quantity + 1];
                int counter = 0;
                for (int i = 0; i < quantityValues.length; i++) {
                    quantityValues[i] = counter;
                    counter++;
                    quantityList.add(Integer.toString(quantityValues[i]));

                }
                Bitmap bitmap = BitmapFactory.decodeByteArray(image, 0, image.length);
                ivProduct.setImageBitmap(bitmap);


                ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, quantityList);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

                spinnerQuantity.setAdapter(adapter);
            }
        }
    }
}

public void addCart(View v) {
    cartList.add(new CartItem(name, price,spinnerQuantity.getSelectedItem().toString(), image, id));

    Intent productListIntent = new Intent(this, CartActivity.class);
    startActivity(productListIntent);

}

推荐答案

这不是最佳实践,但是您可以创建arrayList

It's not the best practice, but you can make your arrayList

public static ArrayList list;

然后您可以使用{class_name} .list从ather活动中访问它.

Then you can access it from ather activity using {class_name}.list

这篇关于如何从Android Studio中获取arraylist的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆