RecyclerView
では、クリックしたアイテムのXとYの位置を取得しようとしています。両方のX、Yは常に0を返し、クリックしたときのRecyclerViewアイテムのXとYは0です
@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
}
});
}
事がある、と彼らはいけない: これは私のアダプターの内部にあります。いくつかのアニメーションを行うには、クリックしたアイテムのXとYが必要です。
私はすでにOnGlobalLayoutListener
の内側とOnPreDrawListener
(あなたが活動ののonCreate上のXとYを必要とする作業の両方)の内部でXとYの位置を取得しようとしたが、彼らはまた、私は「0
を返します私RecyclerView
にGridLayoutManager
を使用してメートル:
recyclerView.setLayoutManager(new GridLayoutManager(Activity_alfabeto.this, 7, LinearLayoutManager.VERTICAL, false));
すべてのヘルプは高く評価されます。
わからないのが、何としてrootviewに少しスレッドに関する: 'view.post(新しいRunnableを(){... view.getX();ビュー.getY();}); 'UIを表示させるには、試しましたか? – Fllo
すでに試してみましたが、うまくいきませんでした。実際に私は何が起こっていたのかを理解し、答えを投稿しますが、あなたの入力に感謝します! –