2012-03-29 60 views
2

我正在開發一個基本的android應用程序,它必須處理幾個不同的事情,通常添加數據和刪除條目,必須使用數組。在android中使用數組援助

目前我有一個類處理添加一個產品,這使得使用2編輯文本字段和4個旋鈕,當用戶點擊添加產品時,它會從微調器中獲得2個文本框和4個選定的項目和將這些全部添加到數組中。

刪除只顯示所有持有用戶的產品的項目,然後選擇他們想要刪除的項目並點擊刪除按鈕。

我需要一些幫助來創建一個數組,最好是有一個不同的類來處理數組,即在應用程序運行時創建數組,並且具有添加和刪除產品的方法。

我只是想知道是怎麼回事就可以設置這個數組了一個數組將需持以下幾點:

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

列表而不是數組? – mitchnufc 2012-03-29 23:06:05

+0

我可以使用列表是 – mitchnufc 2012-03-29 23:19:28

回答

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

一種方法是創建具有您的項目作爲屬性就像一個對象,以便

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

我不知道的全部想法你的應用程序,所以這樣做可能是合法的理由,但它似乎有點奇怪。我原以爲你創建了一個從原始obects類代表一個產品,例如

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

然後將它綁定到列表視圖(或沿着這些行的東西)併爲每行填充一個視圖。