我的购物清单申请表有问题。我从这个tutorial实现了一个按钮适配器,我将用它来将产品添加到列表中。我的gridview中的每个buuton都是一个产品,每个产品都有上下文菜单,我可以将其添加到列表或删除产品。
问题是用户应该有能力添加新产品或类别,我不知道如何在运行时向gridview添加项目。我认为我可以在c ++中创建一些像list这样的动态数组,但我是android和java的新手,所以我不知道如何实现类似的东西。
我试图实现堆栈,但每次我尝试推送应用程序崩溃。数组列表也一样。
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;
}
}
在网格活动中我有另一个arraylist
public static ArrayList<String> arrayInGrid;
在onCreate中:
gridView.setAdapter(new ButtonAdapter(this,arrayInGrid ));
但是当我尝试将新项目发送到阵列程序时崩溃。
arrayInGrid.add("new");
事实上它崩溃了
arrayInAdapter.size();
按钮适配器中的。
任何想法有什么不对?
答案 0 :(得分:2)
您可以将动态数组中的值传递给该GridView的BaseAdapter。 这是一个教程,希望它会对你有所帮助。 http://www.mkyong.com/android/android-gridview-example/