2011-01-14 12 views
7

Okay gut, ich entschuldige mich dafür, wie schlampig dieser Code ist, aber ich kann immer noch nicht herausfinden, wie man ein Code-Tag hier richtig einträgt. So mache ich eine Android-Anwendung (Java) und ich habe ein scrollbares Textfeld. Wenn der Benutzer eine lange Reihe nach unten scrollt und am Ende bleibt, wenn er auf die nächste Reihe klickt, und wenn er kurz ist, wird er auch nach diesem Element gescrollt, auch wenn es eine 1-zeilige (und nicht scrollbare) Reihe sein kann. Ich habe mich gefragt, ob es irgendeinen Weg gibt, nach txtLvlInfo.setText etwas nach rechts zu rufen, um den x-scroll-Wert auf 0 oder etwas zurückzusetzen, so dass er immer an den Anfang des Inhalts zurückgesetzt wird, lang oder kurz. Vielen Dank für jegliche Hilfe und bitte lassen Sie es mich wissen, wenn ich noch mehr klären muss.TextView zurücksetzen nach oben scrollen

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> 

Antwort

20

Ein Tipp für die Umsetzung Code in, nur den Code in das Fenster einfügen, wählen Sie aus und drücken Sie Strg (Cmd) + K. Dies wird alles 4 Leerzeichen einrücken und Ihren Code färben und formatieren.

In Bezug auf Ihre Frage, wo befindet sich diese Switch-Anweisung?

TextView hat eine Methode geerbt von View, die Sie verwenden könnten, genannt scrollTo(int, int), und nur auf 0, 0, aber ich bin ein wenig verwirrt, was genau Sie tun. Was sind die übergeordneten Layouts dieser TextViews? Sie könnten möglicherweise die erste TextView in eine ScrollView umbrechen, anstatt setMovementMethod() (was ich persönlich nicht vertraut bin) zu tun.

+0

vielen Dank für die Hilfe, mit der Code-Formatierung und der Code :) Mein Anwendungsname ist Farmville Helper (Free), dass Sie überprüfen können, was Sie mir geholfen haben, wenn ich diese Woche aktualisieren :) Es wird eine Menüoption namens Level Chart sein, um Sie mit der Aktivität zu verknüpfen. – KisnardOnline

+0

Gern geschehen! Wenn diese Antwort Ihnen geholfen hat, das Problem zu lösen, markieren Sie es als akzeptiert, indem Sie auf das Häkchen auf der linken Seite klicken. – kcoppock

+0

fertig und fertig, vielen Dank! – KisnardOnline

1

Sie können Ihre Textview in einem Scrollview in Ihrem XML-Layout setzen und dann durch den folgenden Code in der oberen Position zurückgesetzt blättern:

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

Verwandte Themen