Wie kann man Touch Events auf einem Fragment behandeln?

Ich baue eine Schnittstelle, wo ich Touch-Events verarbeiten muss . Insbesondere würde ich in der Lage sein, sie nur in einem beschränkten Gebiet in einem Fragment zu aktivieren. Um das Problem besser zu verstehen, die Standards zu respektieren und für das Ziel meiner Bewerbung, habe ich die Navigationsschublade geplant, die das Vorhandensein vieler Fragmente (anstelle von Aktivitäten) annimmt . Eine Aktivität mit Touch-Events ist ganz einfach implementiert, auf der anderen Seite habe ich im Internet gelesen, dass mit den Fragmenten ein Problem werden kann .

Meine Bewerbung, auf der architektonischen Ebene, ist wie folgt: – MainActivity.java – NavigationDrawer.java – TestFragment.java (für ein einziges Fragment jetzt, warten auf das Problem zu lösen)

Ich habe keine Lösung oder ein Tutorial gefunden, das erklärt, wie man gut geht (oder wie man das Problem umgehen kann). Dann frage ich Sie, das Problem zu vereinfachen, um einfach " ein Touch-Event in einem Fragment zu aktivieren (getPressure () in diesem Fall) ". Unten sind einige Stücke von Code, die helfen können, das Problem zu lösen:

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) } } 

Wie kann man den Zuhörer dem ganzen Fragment zuordnen? Und im Falle eines bestimmten Gebietes? Schließlich, wie kann ich den Wert des Drucks auf den Bildschirm zurückgeben?

Vielen Dank im Rat! 🙂

  • Wie man OnClickListener und OnTouchListener für eine ImageButton kombiniert
  • Ein View onTouchListener vs onTouchEvent
  • Android: Pass Gesten Ereignis zu einer anderen Ansicht
  • Holen Sie sich echte x und y Koordinaten der Benutzer berühren
  • Behandeln von Intercept Touch-Ereignis ohne Erweiterung von ViewGroup
  • Bild in Canvas mit Touch Events
  • Android onTouchEvent Koordinaten überspringen
  • Wie kann ich Touch-Listener an die benutzerdefinierte Ansicht für Drag & Drop übergeben?
  • One Solution collect form web for “Wie kann man Touch Events auf einem Fragment behandeln?”

    Ich bin mir nicht sicher, ob ich dein Problem verstanden habe, aber ich werde versuchen, dies zu beantworten. Also um Berührungsereignisse auf Fragment zu bekommen, würde ich das tun:

    – in deinem Fragment onCreateView:

     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; 

    Und Sie können für verschiedene MotionEvents in onTouch, zum Beispiel:

     MotionEvent.ACTION_DOWN, MotionEvent.ACTION_UP,... 
    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.