Bladeren bron

1.修改Apex Drivers文本输入框在ListView中不能滑动。

Pen Li 7 jaren geleden
bovenliggende
commit
9040ac03e4

+ 20 - 1
ApexDrivers/app/src/main/java/com/usai/redant/apexdrivers/Update/UpdateAdapter.java

@@ -4,6 +4,7 @@ import android.content.Context;
 import android.text.Editable;
 import android.text.TextWatcher;
 import android.view.LayoutInflater;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseExpandableListAdapter;
@@ -302,7 +303,7 @@ public class UpdateAdapter extends BaseExpandableListAdapter {
         }
     }
 
-    private class MultInputHolder implements UpdateBaseModel.UpdateModelDelegate {
+    private class MultInputHolder implements UpdateBaseModel.UpdateModelDelegate,View.OnTouchListener {
 
         TextView titleTv;
         EditText valueEt;
@@ -315,6 +316,7 @@ public class UpdateAdapter extends BaseExpandableListAdapter {
             titleTv = view.findViewById(R.id.update_multiple_input_title_tv);
             valueEt = view.findViewById(R.id.update_multiple_input_value_tv);
             valueEt.addTextChangedListener(mTextWatcher);
+            valueEt.setOnTouchListener(this);
 
             view.setTag(this);
         }
@@ -348,6 +350,23 @@ public class UpdateAdapter extends BaseExpandableListAdapter {
                 valueEt.setText(null);
             }
         }
+
+        @Override
+        public boolean onTouch(View v, MotionEvent event) {
+
+            switch (v.getId()) {
+                case R.id.update_multiple_input_value_tv:
+                    // 解决scrollView中嵌套EditText导致不能上下滑动的问题
+                    v.getParent().requestDisallowInterceptTouchEvent(true);
+                    switch (event.getAction() & MotionEvent.ACTION_MASK) {
+                        case MotionEvent.ACTION_UP:
+                            v.getParent().requestDisallowInterceptTouchEvent(false);
+                            break;
+                    }
+            }
+
+            return false;
+        }
     }
 
     private class PhotoHolder implements UpdateBaseModel.UpdateModelDelegate {

+ 1 - 0
ApexDrivers/app/src/main/res/layout/update_multinput_cell.xml

@@ -21,6 +21,7 @@
         android:layout_alignLeft="@id/update_multiple_input_title_tv"
         android:layout_alignRight="@id/update_multiple_input_title_tv"
         android:layout_marginBottom="5dp"
+        android:scrollbars="vertical"
         android:textSize="17sp"
         android:textColor="#000000"
         android:text="滴滴哒"