Scrollen einer HorizontalScrollView durch Klicken auf Schaltflächen an den Seiten

Ich benutze eineHorizontalScrollView innerhalb einesFragment. Wenn ich in dieser Ansicht scrolle, anstatt die darin enthaltenen Elemente zu scrollenHorizontalScrollView Das gesamte Fragment wird nach links oder rechts gescrollt. Jetzt habe ich daran gedacht, Schaltflächen auf beiden Seiten des Layouts zu verwenden. Aber ich kann nicht sehen, wie ich meine Scroll-Ansicht auf beiden Seiten scrollen kann.

Jede Hilfe in dieser Hinsicht wird sehr geschätzt.

BEARBEITEN

Es folgt meine XML-Datei.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<ImageButton
    android:id="@+id/btn_left"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:src="@drawable/left_arrow" />

<ImageButton
    android:id="@+id/btn_right"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:src="@drawable/right_arrow" />

<HorizontalScrollView
    android:id="@+id/horizontal_scrollview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/btn_right"
    android:layout_toRightOf="@id/btn_left"
    android:fadeScrollbars="false"
    android:padding="5dp"
    android:scrollbarAlwaysDrawHorizontalTrack="true"
    android:scrollbars="horizontal" >

    <LinearLayout
        android:id="@+id/dynamic_generation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    </LinearLayout>
</HorizontalScrollView>

und meine Java-Datei

public class MyGallery extends Activity {

private LinearLayout linearLayout;

private ImageButton leftBtn;
private ImageButton rightBtn;
private HorizontalScrollView hsv;
int currentScrollX = 0;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.horizontalscrolling);

    leftBtn = (ImageButton) findViewById(R.id.btn_left);
    rightBtn = (ImageButton) findViewById(R.id.btn_right);
    hsv = (HorizontalScrollView) findViewById(R.id.horizontal_scrollview);
    linearLayout = (LinearLayout) findViewById(R.id.dynamic_generation);

    leftBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        }
    });

    rightBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        }
    });

    String[] users = new String[20];
    for (int i = 0; i < 20; i++) {
        users[i] = "user " + (i + 1);
    }

    for (int i = 0; i < users.length; i++) {
        final TextView userId = new TextView(MyGallery.this);
        userId.setText(users[i]);
        ImageView imageView = new ImageView(MyGallery.this);
        linearLayout.addView(userId);
        linearLayout.addView(imageView);
        userId.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(MyGallery.this,
                        userId.getText() + " has been clicked!",
                        Toast.LENGTH_LONG).show();
                // hsv.
            }
        });
    }
}

}

Was ich brauche

Wenn ich eine der Bildlauftasten nach links oder rechts drücke, muss die Ansicht nach links bzw. rechts verschoben werden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage