Neue Artikel im Gridview-Steuerelements zur Laufzeit Hinzugefügt werden

Ich habe ein problem mit meiner Shopping-Liste Anwendung. Ich habe implementiert eine Schaltfläche adapter aus dieser tutorial, die ich verwenden für das hinzufügen von Produkten zu nennen. Jeder buuton in meinem gridview wird ein Produkt und jedes Produkt haben werden, Kontext-Menü, wo kann ich es hinzufügen, auflisten oder löschen Sie das Produkt.

Problem ist, dass Benutzer sollte die Möglichkeit haben, neue Produkte oder Kategorien und ich weiß nicht, wie Sie Elemente hinzufügen gridview in Laufzeit. Ich dachte, ich könnte einige dynamische array-Liste wie in c++, aber ich bin neu in der android-und java-also ich habe keine Idee, wie Sie etwas umsetzen möchten.

Habe ich versucht zu implementieren stack aber jedes mal, wenn ich versuche irgendetwas zu drücken stürzt die app. Das gleiche ist mit dem array-Liste.

ButtonAdapter :

ButtonAdapter(Context c, ArrayList<String> array){
  mContext = c; 
  arrayInAdapter = array; } 


public int getCount() {  
    int a;
    a = arrayInAdapter.size();
 return a;  
}  

public View getView(int position, View convertView, ViewGroup parent) {  
 Button btn;  

 if (convertView == null) {  
  //if it's not recycled, initialize some attributes  
  btn = new Button(mContext);  
  btn.setLayoutParams(new GridView.LayoutParams(130, 130));  
  btn.setPadding(8, 8, 8, 8);  
 }  
 else {  
 btn = (Button) convertView;  
 }  
 btn.setText(arrayInAdapter.get(position));   
 btn.setTextColor(Color.RED);  
 btn.setBackgroundResource(R.drawable.sample_0);  
 btn.setId(position); 
 btn.setOnClickListener(new MyOnClickListener(position));

 return btn;  
}  

}

und in der Grid-Aktivität habe ich noch eine arraylist

public static ArrayList<String> arrayInGrid;

in onCreate:

gridView.setAdapter(new ButtonAdapter(this,arrayInGrid ));  

aber wenn ich versuche zu senden neuen Artikel, um array-Programm stürzt ab.

arrayInGrid.add("new");

In der Tat, es stürzt bei

arrayInAdapter.size();  

Schaltfläche adapter.

irgendwelche Ideen, was falsch ist?

InformationsquelleAutor user1835312 | 2012-11-19

Schreibe einen Kommentar