android - Android:如何动态地将按钮添加到 GridView?
问题描述
我正在尝试为 textArray 中的每个字符串向 GridView 添加按钮。
void addButtons() {
GridView gridView = (GridView) findViewById(R.id.gridView);
List<Button> buttons = new ArrayList<Button>();
for (int i = 0; i < textArray.length; i++) {
Button newButton = new Button(this);
newButton.setText(textArray[i]);
newButton.setId(i);
newButton.setOnClickListener(onClickListener);
buttons.add(newButton);
}
ArrayAdapter<Button> arrayAdapter = new ArrayAdapter<Button>
(this, android.R.layout.simple_list_item_1, buttons);
gridView.setAdapter(arrayAdapter);
}
但结果,我得到了这个:虚拟设备屏幕
有什么问题?或者也许有更好的方法来做同样的事情?我已经尝试过 LinearLayout 并且一切正常,但我无法向下滚动。
如何在gridview中动态添加按钮可能有一个解决方案,但是,老实说,目前对我来说太难了。
解决方案
试试这个,它展示了如何在运行时创建按钮https://forums.xamarin.com/discussion/49225/dynamic-buttons-in-gridview
推荐阅读
- r - 是否可以从另一个嵌套列表创建列表?
- c++ - 为什么 std::vector
没有专门的比较功能? - r - 向前看,向后看,不适用于 quanteda 字典
- groovy - 如何从 JSR223 处理器(groovy)访问 JMETER 控制器变量?
- python - 张量流中对张量对象进行特定类型的切片
- javascript - 如何在一次“单击”事件中同时从我的云 Firestore 中的两个集合中删除两个文档?
- python - 为什么这个解决方案没有陷入无限循环?
- scripting - 关于 setParameterValue 的 OpenModelica 脚本问题
- r - 在 R 中比较 2 个数据帧是否相等
- android - AutoCompleteTextView 不会从 Firebase 填充