studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android android-fragments ontouchevent ontouchlistener

android - programacion - ¿Cómo manejar Touch Events en un Fragmento?



manual de programacion android pdf (1)

No estoy seguro si entendí tu problema, pero intentaré responder a esto. Entonces, para obtener eventos táctiles en fragmentos, haría esto:

-en tu fragmento enCreateView:

View view = inflater.inflate(R.layout.fragment_test, container, false); view.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_MOVE){ //do something } return true; } }); //here the rest of your code return view;

y puede verificar diferentes MotionEvents en onTouch, por ejemplo:

MotionEvent.ACTION_DOWN, MotionEvent.ACTION_UP,...

Estoy construyendo una interfaz donde necesito procesar eventos táctiles . En particular, podría habilitarlos solo para un área confinada en un fragmento. Para comprender mejor el problema, respetar los estándares y el objetivo de mi aplicación, planifiqué el cajón de navegación, que asume la presencia de muchos fragmentos (en lugar de actividades). Una actividad con eventos táctiles se implementa con bastante facilidad, por otro lado he leído en Internet que con los fragmentos puede convertirse en un problema .

Mi aplicación, a nivel arquitectónico, es la siguiente: - MainActivity.java - NavigationDrawer.java - TestFragment.java (para un solo fragmento ahora, esperando resolver el problema)

No he encontrado una solución o un tutorial que explique cómo hacerlo bien (o cómo solucionar el problema). Luego te pregunto, simplificando el problema para simplemente " habilitar un evento táctil en un fragmento (getPressure () en este caso) ". A continuación hay algunos fragmentos de código que pueden ayudar a resolver el problema:

TestFragment

public class TestFragment extends Fragment { private static final String ARG_SECTION_NUMBER = "section_number"; public static TestFragment newInstance(int sectionNumber) { TestFragment fragment = new TestFragment(); Bundle args = new Bundle(); args.putInt(ARG_SECTION_NUMBER, sectionNumber); fragment.setArguments(args); return fragment; } public TestFragment() {} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_test, container, false); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public boolean onTouchEvent(MotionEvent event) { // Here I want to return the press value (0 to 1) } }

¿Cómo asociar al oyente al fragmento completo? Y en el caso de un área en particular? Finalmente, ¿cómo puedo devolver el valor de la presión en la pantalla?

¡Muchas gracias en consejo! :)