将焦点设置为Android中Tablayout的特定表行

时间:2011-04-06 05:39:59

标签: android tablelayout tablerow

我有一个tablelayout,它在一行中包含2个textview。 我的所有行都是通过活动动态添加的,而我的表是在scrollview中。因此,随着行的添加,表格会逐步向上滚动。

我还能够从tablelayout维护所有已创建和添加的行ID。

我想跳回到用户指定的行号。 让我们说,用户给出5作为行号。因此,我的表应该在第5行向上滚动,以便该行出现在屏幕视图上,用户可以看到第5行的内容。

我从2天开始徘徊以获得解决方案,但没有得到任何方法来实现这一目标。

有没有人有解决方案?

2 个答案:

答案 0 :(得分:1)

要使其滚动调用TableRow.requestRectangleOnScreen()(将“TableRow”替换为代码中的实际TableRow对象)。

你可以使用任何东西作为矩形坐标(比如0,0,0,0),但我相信使用像Rect(0, 0, TableRow.getWidth(), TableRow.getHeight())这样的东西会确保整行都滚动,所以它完全在屏幕上。

实际上任何View对象都支持requestRectangleOnScreen(),所以请使用它。

答案 1 :(得分:0)

 Rect rectangle=new Rect();
 row.getDrawingRect(rectangle);
 row.requestRectangleOnScreen(rectangle);

经过测试,可以正常工作。感谢@ CR