我有一个tablelayout,它在一行中包含2个textview。 我的所有行都是通过活动动态添加的,而我的表是在scrollview中。因此,随着行的添加,表格会逐步向上滚动。
我还能够从tablelayout维护所有已创建和添加的行ID。
我想跳回到用户指定的行号。 让我们说,用户给出5作为行号。因此,我的表应该在第5行向上滚动,以便该行出现在屏幕视图上,用户可以看到第5行的内容。
我从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