我正在开发一个基本的Android应用程序,必须处理几个不同的东西,通常添加数据和删除条目,必须使用数组。
目前我有一个处理添加产品的课程,这会使用2个编辑文本字段和4个微调器,当用户点击添加产品时,它将从微调器中获取2个文本字段和4个选定项目并添加这些也是阵列。
删除仅显示所有持有用户的产品的项目,然后选择要删除的项目,然后单击删除按钮。
我需要一些创建数组的帮助,最好有一个不同的类处理数组,即在运行应用程序时创建数组,并提供添加和删除产品的方法。
我只是想知道如何将数组设置为数组需要保存以下内容:
product name (edit tect field)
category (edit text field)
price (spinner)
day (spinner)
month (spinner)
year (spinner)
答案 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
}
然后将其绑定到列表视图(或沿着这些行的某些内容)并为每行的视图充气。