重置TextView滚动到顶部

好吧,我很抱歉这个代码是多么的渺茫,但是我仍然不知道如何正确地在这里发布代码标签。 所以我正在做一个Android应用程序(Java),我有一个滚动文本字段。 如果用户向下滚动长行并在下一行单击时停留在最后,并且如果该行较短,则该元素也会向下滚动,即使它可能是1行(和不可滚动)的行。 我想知道是否有任何方法可以调用txtLvlInfo.setText之后,将x-scroll值重置为0或其他东西,所以它总是重置为长或短的内容的顶部。 感谢您的任何帮助,请让我知道如果我需要澄清更多。

TextView txtLvlInfo = (TextView) findViewById(R.id.txtLevelInfo); txtLvlInfo.setMovementMethod(new ScrollingMovementMethod()); switch (v.getId()){ case R.id.row1: txtLvlInfo.setText("1: My text view is only two lines max and so I set it to scroll, if the user clicks row2 to load that text while having me scrolled down they have to click and pull to drag back down to the top of text view 2 row."); break; case R.id.row2: txtLvlInfo.setText("I only fill line 1 of the two."); break; } 

_

 <TextView android:textColor="#052027" android:text="" android:id="@+id/txtLevelInfo" android:scrollbars="vertical" android:layout_alignParentLeft="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_toRightOf="@+id/minimizeBtn" android:layout_marginRight="38dip"> </TextView> 

将代码放入窗口中,select它,然后按Ctrl(Cmd)+ K。 这将缩进所有4个空格,并为代码着色和格式化。

关于你的问题,这个switch语句在哪里?

TextView的确有一个从Viewinheritance的方法,叫做scrollTo(int, int) ,只是设置为0,0,但是我对你在做什么有些困惑。 这些TextViews的父级布局是什么? 你可能只是将第一个TextView包装在ScrollView中,而不是做setMovementMethod() (我个人并不熟悉)。

您可以将您的textview放入XML布局的ScrollView中,然后通过以下代码重置滚动到顶部的位置:

  if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) ((ScrollView) findViewById(R.id.myscrollView)).smoothScrollTo(0, 0);