我有一个ViewPager,它使用GridViews作为页面.我希望ViewPager在我在屏幕上滑动时切换页面.
问题是当在GridView上进行滑动时,不会检测到滑动.在GridView之外,滑动正常工作; 似乎GridView正在捕获所有触摸事件而不首先将其传递给ViewPager.
在摆弄源代码的同时,我对从GridView扩展的自定义类做了这样的事情:
@Override
public boolean onTouchEvent(MotionEvent event) {
return pager.onInterceptTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
- where pager指的是ViewPager类.有了这个,ViewPager将正确检测滑动并相应地移动页面,但它不允许GridView接受任何事件,因此我无法点击这些项目.
我希望能够正确检测ViewPager中的滑动和GridView上的项目点击.
我最近安装了ADT 16,现在突出显示了一个问题,即我有一个过时的选项-keepclasseswithmembernames而不是-keepclasseswithnames.我已经修复了proguard.cfg文件,但是lint拒绝识别修复程序并阻止Eclipse构建文件.
我目前的proguard.cfg文件:
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static …Run Code Online (Sandbox Code Playgroud)