ここでは、(@azizbekianで答え)に変換するJavaコードです。
public final class MyRecyclerView extends RecyclerView {
private boolean isValid;
private int x;
private int y;
private final int delta;
public boolean onTouchEvent(@Nullable MotionEvent e) {
boolean onTouchEvent = super.onTouchEvent(e);
Integer var3 = e != null?Integer.valueOf(e.getAction()):null;
boolean var4 = false;
if(var3 != null) {
if(var3.intValue() == 0) {
this.x = (int)e.getRawX();
this.y = (int)e.getRawY();
this.isValid = true;
return onTouchEvent;
}
}
byte var5 = 2;
if(var3 != null) {
if(var3.intValue() == var5) {
if(Math.abs(e.getRawX() - (float)this.x) > (float)this.delta || Math.abs(e.getRawY() - (float)this.y) > (float)this.delta) {
this.isValid = false;
}
return onTouchEvent;
}
}
var5 = 1;
if(var3 != null) {
if(var3.intValue() == var5 && this.isValid && Math.abs(e.getRawX() - (float)this.x) < (float)this.delta && Math.abs(e.getRawY() - (float)this.y) < (float)this.delta && this.isInRightArea(e)) {
this.performClick();
}
}
return onTouchEvent;
}
private final boolean isInRightArea(MotionEvent e) {
Rect r = new Rect();
this.getGlobalVisibleRect(r);
r.left = this.getPaddingLeft();
r.top += this.getPaddingTop();
return !r.contains((int)e.getRawX(), (int)e.getRawY());
}
@JvmOverloads
public MyRecyclerView(@NotNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
Intrinsics.checkParameterIsNotNull(context, "context");
super(context, attrs, defStyleAttr);
ViewConfiguration var10001 = ViewConfiguration.get(this.getContext());
Intrinsics.checkExpressionValueIsNotNull(var10001, "ViewConfiguration.get(getContext())");
this.delta = var10001.getScaledTouchSlop();
}
// $FF: synthetic method
@JvmOverloads
public MyRecyclerView(Context var1, AttributeSet var2, int var3, int var4, DefaultConstructorMarker var5) {
if((var4 & 2) != 0) {
var2 = (AttributeSet)null;
}
if((var4 & 4) != 0) {
var3 = 0;
}
this(var1, var2, var3);
}
@JvmOverloads
public MyRecyclerView(@NotNull Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0, 4, (DefaultConstructorMarker)null);
}
@JvmOverloads
public MyRecyclerView(@NotNull Context context) {
this(context, (AttributeSet)null, 0, 6, (DefaultConstructorMarker)null);
}
}
これは、あなたがJavaへKotlinコードを変換することができる方法である - のAndroid Studioで開きKotlinファイルを、その後、ツール - > Kotlin->ショーKotlinバイトコードは、変換されたJavaコードをコピーして、逆コンパイルボタンを押してください。
あなたのコードを表示してください。 – HassanUsman
どのようなコードを見たいですか? ur recyclerviewアダプターの –
は、グローバルクリックリスナーとアイテムクリックリスナーを置いていなければなりません。詳細についての投稿コード –