In einem RecyclerView
, ich versuche, die X- und Y-Position des angeklickten Elements zu erhalten. Dieser ist in meinem Adapter:RecyclerView Element X und Y sind 0, wenn geklickt
@Override
public void onBindViewHolder(AlfabetoViewHolder holder, final int position) {
// setImage(holder.imageButton, images.get(position));
holder.imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.getX(); // This is 0, but it shouldn't be!
view.getY(); // This is also 0.
executaSomAnimacaoLetra(sounds.get(position), Utils.getResourceFromFile(popups.get(position), context), view); // I do some stuff here
}
});
}
Das Ding ist, beide X ein Y immer 0 zurück, und sie sollten nicht. Ich brauche das X und Y des angeklickten Elements, um einige Animationen zu machen.
Ich habe bereits versucht, die X- und Y-Position immer innerhalb eines OnGlobalLayoutListener
und innerhalb eines OnPreDrawListener
(beide arbeiten, wenn Sie die X und Y auf der onCreate Aktivität müssen), aber sie kehren auch 0.
I‘ m die GridLayoutManager
auf meinem RecyclerView
mit:
recyclerView.setLayoutManager(new GridLayoutManager(Activity_alfabeto.this, 7, LinearLayoutManager.VERTICAL, false));
Jede Hilfe sehr geschätzt wird.
Nicht sicher, aber was ist ein kleines Gewinde auf der RootView wie: 'view.post (new Runnable() {... view.getX(); Ansicht .getY();}); 'Damit die Benutzeroberfläche angezeigt werden kann, haben Sie es versucht? – Fllo
Versuchte das schon, es hat nicht funktioniert. Eigentlich habe ich gerade herausgefunden, was passiert ist, werde die Antwort posten, aber danke für deine Eingabe! –