动态创建按钮的最佳方式

时间:2013-07-18 02:11:10

标签: android-layout

我想在我的应用程序中动态创建按钮。需要根据从数据库中提取的项目创建按钮。实现这一目标的最佳方法是什么?我应该选择网格布局还是线性布局。我的布局很简单,每行最多3个按钮。第一行完成后,按钮应放在第二行。

我扫描了很多类似的问题(其中一些网格布局使用了线性布局),但无法确定实现此问题的最佳方式。

我是Android应用程序中的新手,所以任何代码片段都会非常有用。如果有人认为这是一个重复的问题,我会道歉(我在发布之前搜索了很多,但没有找到适当的布局使用。)

感谢。

1 个答案:

答案 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);