我有一个由 31 个单元组成的网格视图。用户可以选择任何单元格组合,然后单击按钮以保存他们的选择。一旦他们单击保存按钮,就会出现一个对话框,询问他们下一步要做什么。在这个对话框中是一个编辑文本视图。当用户在编辑文本框内单击时,会出现键盘。发生这种情况时,屏幕上只有 31 个单元格中的 21 个可见,当我尝试调用 GridView 类的 getChildrenCount() 方法时,我只看到 21 个孩子。有人可以解释为什么会发生这种情况以及我能做些什么来消除这个问题吗?我附上了图片,希望能澄清这个问题。下面我粘贴了一段代码,我试图在其中获取 gridview 的子数。
protected Set<String> getSelectedFrequencies() {
Set<String> selectedFrequencies = new HashSet<String>();
for(int i = 0; i < gridView.getChildCount(); i++) {
ViewGroup gridChild = (ViewGroup) gridView.getChildAt(i);
for(int k = 0; k < gridChild.getChildCount(); k++) {
if( gridChild.getChildAt(k) instanceof Button ) {
if(gridChild.getChildAt(k).isSelected()) {
selectedFrequencies.add(gridChild.getChildAt(k).getTag().toString());
}
}
}
}
return selectedFrequencies;
}
代码没有什么特别之处。