2012-03-29 8 views
2

Ich entwickle eine grundlegende Android-App, die mehrere verschiedene Dinge behandeln in der Regel das Hinzufügen von Daten und das Löschen eines Eintrags muss ein Array verwenden.Unterstützung mit Array in Android

im Moment habe ich eine Klasse, die sich mit dem Hinzufügen eines Produkts befasst, das macht 2 Texte bearbeiten Felder und 4 Spinner, wenn der Benutzer auf Produkt hinzufügen, erhält es die 2 Textfelder und 4 ausgewählte Elemente aus dem Spinner und addiere diese auch das Array.

Wenn Sie ein Element löschen, das nur alle gehaltenen Produkte anzeigt, wird der Benutzer das Element auswählen, das er löschen möchte, und dann auf die Schaltfläche Löschen klicken.

Ich brauche etwas Hilfe beim Erstellen eines Arrays, wird es am besten sein, eine andere Klasse zu haben, die das Array behandelt, d. H. Das Array erstellen, wenn die App ausgeführt wird und Methoden zum Hinzufügen und Löschen von Produkten hat.

Ich will nur wissen, wie es wäre möglich, diese Anordnung eine Anordnung zur Einrichtung wird folgendes zu halten brauchen:

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

Liste anstelle eines Arrays? – mitchnufc

+0

Ich kann eine Liste ja verwenden – mitchnufc

Antwort

2

Wie wäre es damit für einen schnellen Überblick ...

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

eine Möglichkeit ist, ein Objekt zu erstellen, die wie Ihre Artikel als Attribut hat so

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

ich weiß nicht die volle Idee Ihre App, so gibt es vielleicht einen legitimen Grund für die Dinge auf diese Weise, aber es scheint ein bisschen seltsam. Ich hätte gedacht, Sie erstellen eine Klasse aus primitiven Objekten, um ein Produkt zu repräsentieren, z.

Dann gebunden dies zu einer Listenansicht (oder etwas in diesen Zeilen) und aufgebläht eine Ansicht für jede Zeile.