在android中向动态gridview添加动态按钮?
我最初的做法-- 我正在创建一些按钮,比如在运行时创建5个按钮。 我把它们存储在一个向量中 我需要在动态网格中添加这些按钮。我已经在xml中添加了我的动态按钮。 我将向量按钮传递给适配器类。 但我不明白的是如何将该按钮添加到gridview 这是我的适配器类在android中向动态gridview添加动态按钮?,android,button,gridview,Android,Button,Gridview,我最初的做法-- 我正在创建一些按钮,比如在运行时创建5个按钮。 我把它们存储在一个向量中 我需要在动态网格中添加这些按钮。我已经在xml中添加了我的动态按钮。 我将向量按钮传递给适配器类。 但我不明白的是如何将该按钮添加到gridview 这是我的适配器类 public class GridAdapter extends BaseAdapter { Vector<LinkButton> gridButton; public GridAdapter() {
public class GridAdapter extends BaseAdapter {
Vector<LinkButton> gridButton;
public GridAdapter() {
gridButton = null;
}
public GridAdapter(Vector<LinkButton> gg) {
Log.e("view ", "grid");
gridButton = gg;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return gridButton.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return return gridButton.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(R.layout.grid_element, parent, false);
LinkButton lb = gridButton.get(position);
Log.e("viewGrid ", ""+gridButton.get(position));
((ViewGroup) row).addView(lb);
return row;
}
}
使用以下代码:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(R.layout.grid_element, parent, false); //xml layout which contains the dynamic button element
LinkButton lb = gridButton.get(position);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
((ViewGroup) row).addView(lb , lp);
return row;
}
RowView没有方法addview(),不工作是什么意思?不将视图添加到布局中?获取异常?我测试了这段代码,它正在工作,可能问题出在您的
LinkButton
,将其替换为简单的TextView
和setText
,并显示结果我认为getView存在一些问题,它没有被调用请告诉我们
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater inflater = getLayoutInflater();
View row;
row = inflater.inflate(R.layout.grid_element, parent, false); //xml layout which contains the dynamic button element
LinkButton lb = gridButton.get(position);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
((ViewGroup) row).addView(lb , lp);
return row;
}