我使用setOnTouchlistner類來檢測左右滑動。我可以讓它在listview上正常工作,但listview太小而不能每次都刷新一次。在屏幕上的任意位置滑動Android
然後我嘗試將刷卡設置爲主LinearLayout。在這裏面我有另外三個LinearLayout。但它不工作感謝任何幫助。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:orientation="horizontal"
android:id="@+id/driveView"
android:focusableInTouchMode="true"
android:focusable="true"
android:clickable="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
下面是代碼:
private LinearLayout myView = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.drive);
myView = (LinearLayout)findViewById(R.id.driveView);
myView.setOnTouchListener(new OnSwipeTouchListener(mContext) {
@Override
public void onSwipeLeft() {
showdrivedialog(mContext, "Drive List", "Change to Ascending list!");
}
public void onSwipeRight() {
showdrivedialog(mContext, "Drive List", "Change to Descending list!");
}
});
如果此視圖具有觸摸監聽器的子視圖,則需要在它們上返回false,以便此視圖可以獲得觸摸 – Xjasz 2015-03-19 01:30:46
其他視圖都不具有觸摸監聽器,我有onClickListner,onFocusChangeListner,onEditorActionListner和OnItemClickListner。謝謝。 – 2015-03-19 20:17:05