2011-01-14 73 views
7

好吧,我很抱歉這個代碼是多麼渺茫,但我仍然無法弄清楚如何在這裏正確地發佈代碼標籤。所以我正在製作一個Android應用程序(Java),我有一個滾動文本字段。如果用戶向下滾動長行並在點擊下一行時停留在最後,並且如果長度較短,則該元素也會向下滾動,即使它可能是1行(和不可滾動)的行。我想知道是否有任何方法可以在txtLvlInfo.setText之後調用某個方法將x-scroll值重置爲0或其他值,因此它總是重置爲長或短的內容頂部。感謝您的任何幫助,請讓我知道如果我需要澄清更多。重置TextView滾動到頂部

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> 

回答

20

一種用於把碼在前端,只需將代碼粘貼到窗口中,選擇它,然後按Ctrl(CMD)+ K。這將縮進所有4個空格,併爲代碼着色和格式化。

關於你的問題,這個switch語句在哪裏?

TextView確實有一個方法可以繼承你可以使用的方式,叫做scrollTo(int, int),並且設置爲0,0,但是我對你在做什麼有點困惑。這些TextViews的父級佈局是什麼?你可能只是將第一個TextView包裝在ScrollView中,而不是做setMovementMethod()(我個人不熟悉)。

+0

非常感謝你的幫助,與代碼格式和代碼:)我的應用程序名稱是Farmville Helper(免費),您可以查看當我在本週更新時幫助我的內容:)它將是一個名爲Level Chart的菜單選項,以將您鏈接到該活動。 – KisnardOnline

+0

不客氣!如果此答案幫助您解決問題,請點擊左側的複選標記將其標記爲已接受。 – kcoppock

+0

完成和完成,非常感謝! – KisnardOnline

1

你可以把你的TextView的滾動型在你的XML佈局,然後重新滾動到頂部位置由下面的代碼:

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