買い物リスト アプリケーションに問題があります。リストに製品を追加するために使用するこのチュートリアルのボタン アダプターを実装しました。私のグリッドビューの各ブウトンは製品になり、各製品にはコンテキストメニューがあり、製品をリストに追加または削除できます。
問題は、ユーザーが新しい製品またはカテゴリを追加できる必要があり、実行時にアイテムをグリッドビューに追加する方法がわからないことです。C ++でリストのような動的配列を作成できると思っていましたが、AndroidとJavaが初めてなので、そのようなものを実装する方法がわかりません。
スタックを実装しようとしましたが、何かをプッシュしようとするたびにアプリがクラッシュします。配列リストも同様です。
ボタンアダプタ:
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;
}
}
そしてGrid Activityには別のarraylistがあります
public static ArrayList<String> arrayInGrid;
onCreateで:
gridView.setAdapter(new ButtonAdapter(this,arrayInGrid ));
しかし、新しいアイテムを配列プログラムに送信しようとするとクラッシュします。
arrayInGrid.add("new");
実際、それはでクラッシュします
arrayInAdapter.size();
ボタンアダプターに。
何が間違っているのですか?