1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

ScrollView per Buttons steuern

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von flflfl, 19.10.2011.

  1. flflfl, 19.10.2011 #1
    flflfl

    flflfl Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    20.05.2010
    Hallo,

    ich will eine ScrollView nur mit Buttons steuern, aber das funktioniert irgendwie nicht.

    Code:
         <ScrollView android:id="@+id/plist_scroll">
            <LinearLayout android:id="@+id/plist_layout"
                android:orientation="vertical">
                <ListView android:id="@+id/plist_list" />
                <TextView android:id="@+id/plist_empty"     
                    android:text="@string/main_no_items" />
            </LinearLayout>
        </ScrollView>
    (...)
    <Button android:id="@+id/plist_btn_up" />
    <Button android:id="@+id/plist_btn_down" />
    
    Code:
            scrV = (ScrollView) findViewById(R.id.plist_scroll);
            scrV.setSmoothScrollingEnabled(true);
            scrV.smoothScrollTo(0, 90);
    
    Was ist hier falsch?

    Danke :)
     
  2. StefMa, 20.10.2011 #2
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    HI,

    Aha.. *.*...
    LogCat? Ausgabefehler in der Console?!

    Was nützt uns der Quellcode von wie du das ScrollView ansprichst, der von den Buttons wären sinnvoll!

    MfG Ice
     
  3. flflfl, 20.10.2011 #3
    flflfl

    flflfl Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    20.05.2010
    Hi,

    im Logcat steht nur die System.out.println... Ausgabe "oben" bzw. "unten"

    Quellcode von den Buttons:
    Code:
    onCreate() {
    (...)
            up = (Button) findViewById(R.id.plist_btn_up);
            up.setOnClickListener(this);
            down = (Button) findViewById(R.id.plist_btn_down);
            down.setOnClickListener(this);
    
            scrV = (ScrollView) findViewById(R.id.plist_scroll);
            scrV.setSmoothScrollingEnabled(true);
    (..)
    }
    
    public void onClick(View vw) {
           if (vw == up) {
                System.out.println("Oben");
                scrV.smoothScrollBy(0, -90);
            } else if (vw == down) {
                System.out.println("unten");
                scrV.smoothScrollTo(0, 90);
            }
        }
    
    Danke!
     
  4. StefMa, 20.10.2011 #4
    StefMa

    StefMa Gewerbliches Mitglied

    Beiträge:
    2,054
    Erhaltene Danke:
    413
    Registriert seit:
    16.10.2010
    Hi,

    also so sehe ich jetzt auf anhieb auch keine Fehler (Habe das selbst noch nie gemacht, aber es gibt ja d.android.com ;))..

    Was ich mir vorstellen könnte, man gibt ja die Zahlen als Pixel wert an?! Vielleicht scrollt er ja auf -90 bzw. +90, allerdings siehts du es nicht, da die 90 Pixel +- sowieso Angezeigt werden... Versteht du was ich meine? :)

    Außerdem, weiß ich nicht, ob du in der Methode onClick().. nicht nochmal die Buttons bzw das ScrollView an das Layout binden musst..
    Also einfach nochmal
    Ins OnClick schreiben?! Aber genau weiß ich das auch nicht!!

    MfG Ice

    P.s.: Naja, wenn er dir im LogCat "oben" bzw "Unten" ausgibt, dann sollte die Zweite lösung ja Falsch sein :>

    €dit: Hier, das eine wird mit Pixel angestellt, das andere mit "Position". Was auch immer damit gemeint ist?!

    €dit2: Ja klar ;) Mit deinem "RunterScrollen" gehts nicht, da du da ScollTo benutzt (Also das mit Position ist mir unverständlich). Das ScorllBy scorllt die Anzahl vin Pixel die du angibst. Also "geht" warhsceinlich das nach "oben", da du aber nie nach unten gehst, kann es auch nicht nach oben scollen?!
     
    Zuletzt bearbeitet: 20.10.2011
    flflfl bedankt sich.
  5. flflfl, 20.10.2011 #5
    flflfl

    flflfl Threadstarter Neuer Benutzer

    Beiträge:
    15
    Erhaltene Danke:
    0
    Registriert seit:
    20.05.2010
    scrollby wars ;) danke!
     

Diese Seite empfehlen