Arun Badole
Arun Badole

Reputation: 11097

Problem in ScrollView scrolling?

I am using a ScrollView in my layout and in the onCreate method I have used scrollTo(0,50) method, so initially when my layout appears the scrollview should be scrolled to position (0,50). But it doesn't seem to work.

My Code is as Follows

ScrollView scroll;
Button btn;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    scroll = (ScrollView) findViewById(R.id.scrollView1);
    btn = (Button) findViewById(R.id.button1);
    btn.setOnClickListener(this);
    scroll.scrollTo(0,50);
}

I am not getting where is the problem please help

My XML Code for ScrollView is ..

<ScrollView android:layout_width="match_parent" android:id="@+id/scrollView1"
    android:layout_height="200dip" >
    <LinearLayout android:id="@+id/linearLayout1"
        android:layout_width="match_parent" android:layout_height="match_parent">
        <TableLayout android:layout_width="wrap_content"
            android:id="@+id/tableLayout1" android:layout_height="match_parent">
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 1" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 2" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 3" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 4"  />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 5" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 6" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 7" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 8" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 9" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 10" />
            </TableRow>
            <TableRow android:layout_width="wrap_content" android:id="@+id/tabler"
                android:layout_height="wrap_content">
                <TextView android:layout_width="wrap_content" android:id="@+id/tabler"
                    android:layout_height="30dip" android:text="ROWS 11" />
            </TableRow>

        </TableLayout>
    </LinearLayout>
</ScrollView>

Upvotes: 0

Views: 1200

Answers (1)

Samuel
Samuel

Reputation: 9993

can you try this

//scroll.scrollTo(0,50);

btn.postDelayed(new Runnable() {            
    @Override
    public void run() {
        //scroll.smoothScrollBy(0,50);              
        scroll.scrollTo(0,50);
    }
}, 500);

even better

btn.post(new Runnable() {           
    @Override
    public void run() {
        //scroll.smoothScrollBy(0,50);              
        scroll.scrollTo(0,50);
    }
});

Upvotes: 3

Related Questions