我想在我的应用程序中动态创建按钮。需要根据从数据库中提取的项目创建按钮。实现这一目标的最佳方法是什么?我应该选择网格布局还是线性布局。我的布局很简单,每行最多3个按钮。第一行完成后,按钮应放在第二行。
我扫描了很多类似的问题(其中一些网格布局使用了线性布局),但无法确定实现此问题的最佳方式。
我是Android应用程序中的新手,所以任何代码片段都会非常有用。如果有人认为这是一个重复的问题,我会道歉(我在发布之前搜索了很多,但没有找到适当的布局使用。)
感谢。
答案 0 :(得分:1)
请尝试使用与下面的代码相同的gridView。
// in xml write this code
<GridView
android:id="@+id/calendar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numColumns="3" />
// grid adapter
public class GridAdapter extends BaseAdapter {
private final Context _context;
private final List<String> list;
public GridAdapter(Context context, ArrayList<String> list) {
super();
this._context = context;
this.list = list;
}
public String getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
public View getView(int position, View convertView, ViewGroup parent) {
Button button = new Button(_context);
button.setText("button" + list.get(position));
return button;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
}
/// in oncreate
gridView.setAdapter(new GridAdapter(getApplicationContext(),list);