Sagen wir, ich habe eine Liste (RecyclerView
) mit einigen Elementen, wenn ein Benutzer ihren Finger auf eines dieser Elemente legt, muss ich einen völlig anderen Bildschirm zeigen, und basierend auf der Position wo a Benutzer nimmt ihren Finger von diesem anderen Bildschirm, meine Anwendung führt verschiedene Aktionen aus.Ändern Sie Ansichten basierend auf Berührungsereignisse
Ich habe es geschafft, etwas mit Fragment
Transaktionen zu erreichen (I ersetzen die Fragment
enthält die RecyclerView
mit der Fragment
, dass verschiedene Bildschirm enthält, wenn Sie erhalten eine ACTION_DOWN
MotionEvent
in einem der Artikel Liste View
s), aber das Problem ist, dass die zweite Fragment
kann ACTION_UP
oder andere MotionEvent
nicht erhalten, weil ACTION_DOWN
wurde nie auf es gesendet, und ich brauche eine Möglichkeit zu wissen, wenn ein Benutzer ihren Finger nimmt.
Gibt es eine Möglichkeit, mein gewünschtes Verhalten zu erreichen (vielleicht mit einer anderen Technik als das Ersetzen Fragments
)?
Ich denke, beide Vorschläge lösen mein Problem. Zuerst habe ich nicht daran gedacht, Ereigniskoordinaten vom ursprünglichen Listener zu erhalten, aber solange es sich um Anzeigekoordinaten handelt, ist es in jedem Listener gleich, sodass ich das zweite 'Fragment' nur als Hinweis für einen Benutzer zeigen kann, aber nimm die tatsächlichen Koordinaten vom ersten 'Fragment'. Ich werde auch in Erwägung ziehen, das Touch-Event abzufangen und zu sehen, welche Technik mir besser passt. Wie auch immer, vielen Dank! – Salivan