在我的应用程序中,我在执行期间动态生成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这样的东西,但是我没有运气实现那个。任何帮助将不胜感激。
答案 0 :(得分:0)
如果我很好理解你的问题,也许你可以找到有用的"标签"属性。我的意思是,当您动态地将新行添加到表中时,您只需将标记标识符添加到此新行中,并将其索引位置放在表中
TableRow tr = new TableRow(this);
tr.setTag(indexPosition);
所以,当你需要知道当前行的位置时,你只需要调用
int position = tr.getTag();
我希望这是你的问题!
答案 1 :(得分:0)
您可以使用Textview
的数组,而不是尝试根据行号等定义自定义名称。