【问题标题】:Set focus to the specific TableRow from the TableLayout in Android从 Android 中的 TableLayout 将焦点设置到特定的 TableRow
【发布时间】:2011-07-30 12:51:21
【问题描述】:

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

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

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

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

有人有解决办法吗?

【问题讨论】:

    标签: android tablelayout tablerow


    【解决方案1】:

    要让它滚动调用TableRow.requestRectangleOnScreen()(在代码中用实际的TableRow 对象替换“TableRow”)。

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

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

    【讨论】:

      【解决方案2】:
       Rect rectangle=new Rect();
       row.getDrawingRect(rectangle);
       row.requestRectangleOnScreen(rectangle);
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-05
        • 2012-05-17
        • 2018-11-07
        • 2014-10-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多