这是我的布局XML。我动态地在表中添加更多行。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.tweets"
android:id="@+id/screen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFF">
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/main"
android:background="#FFFFFF">
<TableRow android:id="@+id/TableRow01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/TLocView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15px"
android:textStyle="bold"
android:textColor="#000000"
android:text="FatWallet Tweets:">
</TextView>
</TableRow>
</TableLayout>
</ScrollView>
我想用scrollview实现分页。如果用户尝试向后或向前滚动,那么我想要进行上一页和下一页请求。怎么做?任何提示将不胜感激。谢谢。
答案 0 :(得分:0)
这是解决该问题的一种肮脏方式
tl = (TableLayout) findViewById(R.id.main);
tl.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int y = v.getHeight();
int y1 = (int) event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
if (y1 + 50 >= y & more) {
//System.out.println("ACTION_DOWN " + bpg);
more();
}
break;
}
case MotionEvent.ACTION_UP: {
if (y1 - 50 <= 100 & bpg > 1) {
//System.out.println("ACTION_UP");
less();
}
break;
}
case MotionEvent.ACTION_MOVE: {
//System.out.println("ACTION_MOVE " + bpg);
if (y1 - 50 <= 100 & bpg > 1) {
//System.out.println("ACTION_UP");
less();
}
break;
}
}
//System.out.println("Test " + y + " " + y1);
return true;
}
});
ACTION_DOWN事件处理下一页,ACTION_MOVE事件处理上一页。我正在检查当前的Y是在几乎结束时还是在开始时才行动。它不干净,但一种方法使它工作。