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)

  • Fehler: Parsing das Paket bei der Installation von APK
  • Java-Code in Eclipse generieren?
  • Erstellen Sie Rundschreiben für Pre-Lollipop-Geräte (Android)
  • Set Slidemenu - Beispiel funktioniert nicht
  • Wie kann ich den inaktiven Speicher in Android programmgesteuert löschen?
  • Wie bekomme ich aktuelle WiFi-Verbindung info in android
  • 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! 🙂

  • AlertDialog mit benutzerdefinierter Ansicht: Größe ändern, um den Inhalt der Ansicht zu verpacken
  • Warum hat 'android: screenOrientation = "hinter" `kein Effekt in Android 4.1.2?
  • Java.net.ConnectException: konnte nicht mit /192.168.253.3 (Port 2468) verbunden werden: connect failed: ECONNREFUSED (Verbindung abgelehnt)
  • Android's RelativeLayout scheint gebrochen
  • RecyclerView - Wie kann man die Position nach oben auf eine bestimmte Position verschieben?
  • Wie kann man Android App von Admob entfernen oder löschen?
  • 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.