java - 如何解决布局中更多数字的 Editext 问题并从中获取值?

标签 java android android-activity android-edittext

看这张图片:

我正在android中设计一个数独,已经完成了这样的布局,所以81 Editext就在那里。我想获取 Editext 中的所有值,因此很难在 Activity 中声明和管理 81 个 View 。您能建议我一种有效解决我的问题的方法吗?

最佳答案

动态创建编辑文本。

在每次迭代中,您都会重写 ed 变量,因此当循环完成时,ed 仅指向您创建的最后一个 EditText 实例。

您应该存储对所有 EditText 的所有引用:

EditText ed;
List<EditText> allEds = new ArrayList<EditText>();

for (int i = 0; i < count; i++) {   

    ed = new EditText(Activity2.this);
    allEds.add(ed);
    ed.setBackgroundResource(R.color.blackOpacity);
    ed.setId(id);   
    ed.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.WRAP_CONTENT));
    linear.addView(ed);
}

现在 allEds 列表保存对所有 EditText 的引用,因此您可以迭代它并获取所有数据。

获取数据

 String[] strings = new String[](allEds.size());

for(int i=0; i < allEds.size(); i++){
    string[i] = allEds.get(i).getText().toString();
}

注意:

这不是结果,您的设计可能会有一些变化。但请按照以下步骤获得准确的结果。我认为您必须使用两个 for 循环才能在 GridView 中获取编辑文本。

关于java - 如何解决布局中更多数字的 Editext 问题并从中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14393005/

相关文章:

java - 如何在 Eclipse 中的 Java 构建路径中更新 Android

android - 像 Whatsapp 配置文件一样在滚动上折叠/调整图像大小

android - 在没有窗口的情况下显示 toast

java - Java 中与字符串相关的问题 : why isn't my level promotion/downgrade updated correctly?

java - 链接依赖库时JNI "The specified procedure could not be found"

java - 从 eclipse 项目中删除未使用的 jar

android - 在 android 中截取屏幕截图

android - flutter :迁移到 androidx

java - java基础练习

android - 主题切换时的过渡(或Activity.recreate())