我有两个片段。首先是一直运行(第一个屏幕)。当我点击并按住TextView
时,我添加了第二个片段(第二个屏幕)。然后仍然抱着我拖动指针在第二个片段(第三个屏幕)拥有的红色TextView。当我输入红色TextView
时,我想增加其alpha值。然后,当我ACTION_UP
第二个片段破坏并点击第一个片段中的TextView
时,消失(第四个屏幕)。
我的问题是如何在红色TextView的第二个片段中管理onTouchListener?
我试着听第二个片段中的onTouchListener
甚至回复,但事实并非如此。
//second fragment
...
deleteTextView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
event = MotionEvent.obtainNoHistory(event);
//here testing if onTouch works
if(event.getAction()>=0) {
Log.v("UWAGA ZOOM", Integer.toString(event.getAction()));
return true;
}
if(event.getAction() == MotionEvent.ACTION_HOVER_ENTER){
deleteArea.setAlpha(1.0f);
return true;
}
if(event.getAction() == MotionEvent.ACTION_HOVER_EXIT){
deleteArea.setAlpha(0.5f);
return true;
}
return false;
}
});
但来自第一个片段的onTouchListener响应!
//first fragment
...
linearLayout2.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//here testing if onTouch works
if(event.getAction()>=0) {
Log.v("UWAGA", Integer.toString(event.getAction()));
return true;
}
if(event.getAction() == MotionEvent.ACTION_DOWN){
Fragment dayEventZoomFragment = new DayEventZoomFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(android.R.animator.fade_in,
android.R.animator.fade_out);
Bundle bundle = new Bundle();
bundle.putString("event_title", dayEvent.getTitle());
bundle.putInt("event_hour", dayEvent.getHour());
dayEventZoomFragment.setArguments(bundle);
fragmentTransaction.add(R.id.fragment_layout, dayEventZoomFragment, "dayEventZoomFragment").addToBackStack("fragmentDay")
.commit();
return true;
}
if(event.getAction() == MotionEvent.ACTION_UP){
getActivity().dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
getActivity().dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
return true;
}
return false;
}
});
所以当我像第三个ss一样拖动指针时,我只得到LOG“UWAGA”并且我没有得到LOG“UWAGA ZOOM”。 如何在第二个事件开始之前仍然将手指放在屏幕上时,如何开始在第二个片段中监听事件?