将焦点从 Android 中的 TableLayout 设置到特定的 TableRow

发布于 2024-10-30 19:30:50 字数 265 浏览 1 评论 0原文

我有一个表格布局,它在一行中包含 2 个文本视图。 我的所有行都是通过活动动态添加的,并且我的表格位于滚动视图中。因此,随着行的添加,表格会逐步向上滚动。

我还可以维护表格布局中所有创建和添加的行 ID。

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

我花了两天时间寻找解决方案,但没有找到任何方法来实现这一目标。

有人有解决办法吗?

I have one tablelayout and it contains 2 textviews in one row.
All my rows are added dynamically through the activity and my table is in scrollview. So, as rows are added table is scrolled up step by step.

I am also able to maintain all created and added row ids from the tablelayout.

I want to jump back to the row number specified by user.
Let us say, user gives 5 as a row number. So, my table should be scrolled up at row number 5 so that row comes on the screen view and user can see the content of the 5th row.

I am wandering from 2 days to get solution for this, but not getting any method to achieve this.

Does anyone have solution for it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ゝ偶尔ゞ 2024-11-06 19:30:50

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

您可以使用任何矩形坐标(如 0,0,0,0),但我相信使用诸如 Rect(0, 0, TableRow.getWidth(), TableRow.getHeight()) 之类的东西会确保整行滚动,使其完全显示在屏幕上。

实际上,任何 View 对象都支持 requestRectangleOnScreen(),所以可以尝试一下。

To get it to scroll call TableRow.requestRectangleOnScreen() (substitute "TableRow" with the actual TableRow object in your code).

You can use anything for the rectangle coordinates (like 0,0,0,0) but I believe using something like Rect(0, 0, TableRow.getWidth(), TableRow.getHeight()) will make sure the whole row is scrolled so it's fully on screen.

Actually any View object supports requestRectangleOnScreen() so play around with it.

眼泪淡了忧伤 2024-11-06 19:30:50
 Rect rectangle=new Rect();
 row.getDrawingRect(rectangle);
 row.requestRectangleOnScreen(rectangle);

经过测试并且它正在工作。感谢@CR

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

tested and it is working. Thanks to @CR

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文