在android中使用数组的帮助

时间:2012-03-29 22:43:07

标签: java android

我正在开发一个基本的Android应用程序,必须处理几个不同的东西,通常添加数据和删除条目,必须使用数组。

目前我有一个处理添加产品的课程,这会使用2个编辑文本字段和4个微调器,当用户点击添加产品时,它将从微调器中获取2个文本字段和4个选定项目并添加这些也是阵列。

删除仅显示所有持有用户的产品的项目,然后选择要删除的项目,然后单击删除按钮。

我需要一些创建数组的帮助,最好有一个不同的类处理数组,即在运行应用程序时创建数组,并提供添加和删除产品的方法。

我只是想知道如何将数组设置为数组需要保存以下内容:

product name (edit tect field)
category (edit text field)
price (spinner)
day (spinner)
month (spinner)
year (spinner)

2 个答案:

答案 0 :(得分:2)

如何快速概述......

public class ProductActivity extends Activity {

private ArrayList<Product> _products = new ArrayList<Product>();

private EditText _nameEdtx;
// and other widgets

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // attach activity to layout and widgets in layout
}

// assuming your button has onClick="handleAddButtonClicked"
public void handleAddButtonClicked( View vw ) {
    _products.add( new Product( _nameEdtx.getText().toString() ) );
}

class Product {
    String _productName;
    // ... and so on
    public Product( String productName ) {
        _productName = productName;
        // and so on, with other member variables
    }
}
}

答案 1 :(得分:1)

一种方法是创建一个将项目作为属性的对象,如此

import android.widget.EditText;
import android.widget.Spinner;

//declare class

public class MyClass
{
    public EditText ProductName;
    public EditText Category;
    public Spinner Price;
    public Spinner Day;
    public Spinner Month;
    public Spinner Year;
}

//now a list of them could look like
List<MyClass> myCollection = new ArrayList<MyClass>();

//iterating
for (MyClass item : myCollection)
{
    Log.d("DEBUG", "the current item ProductName is" + item.ProductName);
}

我不知道您的应用程序的完整概念,所以可能有合理的理由以这种方式做事,但它似乎有点奇怪。我原以为你会从原始对象创建一个类来表示一个产品,例如

public class Product
{
    public String ProductName;
    public String Category;
    public double Price;
    //etc
}

然后将其绑定到列表视图(或沿着这些行的某些内容)并为每行的视图充气。