我有一个表格布局,它在一行中包含 2 个文本视图。我所有的行都是通过活动动态添加的,我的表在滚动视图中。因此,随着行的添加,表格会逐步向上滚动。
我还能够维护来自 tablelayout 的所有创建和添加的行 ID。
我想跳回到用户指定的行号。假设,用户给出 5 作为行号。所以,我的表格应该在第 5 行向上滚动,这样行就会出现在屏幕视图中,并且用户可以看到第 5 行的内容。
我从 2 天开始徘徊以获得解决方案,但没有得到任何方法来实现这一点。
有没有人有解决方案?
我有一个表格布局,它在一行中包含 2 个文本视图。我所有的行都是通过活动动态添加的,我的表在滚动视图中。因此,随着行的添加,表格会逐步向上滚动。
我还能够维护来自 tablelayout 的所有创建和添加的行 ID。
我想跳回到用户指定的行号。假设,用户给出 5 作为行号。所以,我的表格应该在第 5 行向上滚动,这样行就会出现在屏幕视图中,并且用户可以看到第 5 行的内容。
我从 2 天开始徘徊以获得解决方案,但没有得到任何方法来实现这一点。
有没有人有解决方案?
让它滚动调用TableRow.requestRectangleOnScreen()
(用代码中的实际 TableRow 对象替换“TableRow”)。
您可以对矩形坐标使用任何东西(如 0,0,0,0),但我相信使用类似的东西Rect(0, 0, TableRow.getWidth(), TableRow.getHeight())
可以确保滚动整行,使其完全显示在屏幕上。
实际上任何 View 对象requestRectangleOnScreen()
都支持所以玩弄它。
Rect rectangle=new Rect();
row.getDrawingRect(rectangle);
row.requestRectangleOnScreen(rectangle);
经过测试,它正在工作。感谢@CR