带有可触摸/可聚焦对象的Android ViewPager
我有一个ViewPager,它保存动态添加的视图(从XML膨胀)并由PagerAdapter控制。添加的视图有一些简单的编辑文本和一个可触摸图表的SurfaceView 为了在用户翻页浏览视图时从EditText中删除焦点,我在动态添加的视图布局中添加了以下内容:带有可触摸/可聚焦对象的Android ViewPager,android,android-viewpager,Android,Android Viewpager,我有一个ViewPager,它保存动态添加的视图(从XML膨胀)并由PagerAdapter控制。添加的视图有一些简单的编辑文本和一个可触摸图表的SurfaceView 为了在用户翻页浏览视图时从EditText中删除焦点,我在动态添加的视图布局中添加了以下内容: android:clickable="true" android:focusable="true" android:focusableInTouchMode="true" 这样做很好,但也带来了一个新问题。用户还需要能够触摸Surf
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
这样做很好,但也带来了一个新问题。用户还需要能够触摸SurfaceView上的图表,但是SurfaceView将每个触摸记录为2次触摸(如果我删除了上述XML属性,它工作正常,但我有EditText焦点问题)
我尝试了上述XML属性的不同变体(有些是真的,有些是假的),但没有产生预期的结果。我还尝试将OnFocusChangeListener添加到EditText中,这样,如果有焦点,则上述属性为true,否则为false
我已经做了一些搜索,但找不到我要找的东西-非常感谢您的帮助。您使用的是onTouchEvent吗?如果是,则注册为:
ACTION_UP
ACTION_DOWN
ACTION_MOVE
and more
您可以知道发生了什么,并仅处理以下操作事件:
public boolean onTouchEvent(MotionEvent event)
{
int action = event.getAction();
//When the user lifts up...
if (action==MotionEvent.ACTION_UP)
{
//Do something here
}
}
这可能就是为什么你会有两次接触