Reputation: 11097
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
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