Android TextView / EditText动态生成

时间:2014-10-20 21:39:24

标签: java android

在我的应用程序中,我在执行期间动态生成TextViews / Edits。我还有一个TableLayout,所以每组TextEdit / TextViews都会在一个新行上。我想使用行号(1 ... N)作为一种ID来识别每组textEdit / TextViews(例如,第1行将具有TEdit1,Tview1,第2行将具有TEdit2,TView2..etc)。

我有在每个tEdit的onchange上调用的函数。例如,TEdit 1在调用onChange方法时更改TView1的值。设置该功能,以便我可以传递TView ID并正确更改它。我的问题是,我不知道如何使用变量作为tView id。该函数需要参数,其中包括rowId(1,2,3 ..等),所以我想知道是否有办法设置这样的变量:

String VariableName = "tEdit" + i; (i is the rowId that its passed through as a parameter)

然后用它来做这样的事情:

MyActivity.VariableName.setText("Change proper text");

显然,那个人不起作用。我已经做了一些研究,并且我看过像getIdentifier这样的东西,但是我没有运气实现那个。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果我很好理解你的问题,也许你可以找到有用的"标签"属性。我的意思是,当您动态地将新行添加到表中时,您只需将标记标识符添加到此新行中,并将其索引位置放在表中

TableRow tr = new TableRow(this);
tr.setTag(indexPosition);

所以,当你需要知道当前行的位置时,你只需要调用

int position = tr.getTag();

我希望这是你的问题!

答案 1 :(得分:0)

您可以使用Textview的数组,而不是尝试根据行号等定义自定义名称。