android - 如何在Android中动态添加表格中的字段?

标签 android dynamic view

我需要用户输入图形坐标。问题是,我不知道有多少。所以我想要一个“添加点”按钮,它将两个字段(用于 x 和 y 坐标)插入到新的表格行中,供用户添加更多坐标。

此外,当我想从中获取数据时,如何识别这些新字段?通常,我已经知道字段的 ID 并使用 findViewById(R.id.ID_here) 调用它们;现在我该怎么做才能识别它们?

我正在将所有这些坐标写入一个文件,所以如果有一种方法可以在不识别每个坐标的情况下写入它们,请帮忙。

编辑:

我无法让 edittext 字段具有这些布局参数属性:

android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="numberDecimal"

这是我的 JAVA 代码:

            TableLayout table = (TableLayout) findViewById(R.id.TableLayout1);

            TableRow tr = new TableRow(this);
            LinearLayout.LayoutParams trparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            tr.setLayoutParams(trparams);

            cg[i] = new EditText(this);
            weight[i] = new EditText(this);
            LinearLayout.LayoutParams fieldparams = new LinearLayout.LayoutParams(100, LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
            cg[i].setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
            weight[i].setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
            cg[i].setLayoutParams(fieldparams);
            weight[i].setLayoutParams(fieldparams);

            tr.addView(cg[i]);
            tr.addView(weight[i]);

            table.addView(tr);

如果可以,请帮忙。

最佳答案

您可以像这样创建新行(或任何其他类型的 View ):

TableRow tr = new TableRow(myContext); // usually myContext is 'this'

然后将 tr 添加到父 View 中

TableLayout myTable = findViewById(R.id.TableLayout1);

LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
tr.setLayoutParams(lp);
myTable.addView(tr);

在添加之前,您需要将 layoutParams 添加到 View ,因为所有 View 都必须至少指定其布局宽度和布局高度。

如果您需要将子级添加到您的行中(显然您会这样做,否则有什么用)您只需重复该过程,除非现在您创建一个 EditText。一旦你这样做了,你就会自动拥有对它的引用,因为你创建了它! :)

我不清楚您问题的最后一部分是什么意思,您将它们写入文件的位置。请详细说明。

哦,欢迎来到 Stack...如果您觉得答案有用,请不要忘记给它们投票和/或将它们标记为正确。

关于android - 如何在Android中动态添加表格中的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9061040/

相关文章:

java - 如何在Android中进行Json解析

java - 如何在运行时动态加载不同项目中的类和库

jquery - IE9 没有将 css 应用到使用 jQuery.after 动态创建的元素

java - 使用 View 作为与 Hibernate 的连接表

android - 从在 Android 中以编程方式创建的父 View 中查找 subview

android - 如何使用手机的传感器检测手机是否在移动或只是被人摇晃?

android - 如何在 Activity 之间保留数据

javascript - Foundation 6 Abide 不使用 Ajax/Dynamic Html

android ProgressDialog : setting custom view instead of message - does this work?

android - 将互联网图像指定为按钮背景?