[英]How to implement an onClick method in an Activity rather than a RecyclerView Adapter class?
[英]How to implement onclick method on recyclerview?
這似乎是一個常見問題,但事實並非如此。 所以我想執行一個點擊recyclerview的方法。 我與 recyclerview 項目無關。 我希望應用程序識別屏幕點擊以實現一種方法。
這是代碼:
xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9"
android:id="@+id/rl">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:divider="@null"
android:paddingTop="8dp"
android:visibility="visible"
/>
</RelativeLayout>
爪哇
mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
mRecyclerView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"sent",Toast.LENGTH_SHORT).show();
}
});
現在點擊 recyclerview 區域,吐司沒有出現。
我想你會做 onItemClick 但對所有項目做同樣的事情。 所以如果你點擊recyclerview的區域,那么你肯定會點擊其中的一項。 所以只需為任何 onItem 調用一個方法
你可以使用這樣的東西:
mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(@NonNull RecyclerView rv, @NonNull MotionEvent e) {
Toast.makeText(MainActivity.this,"sent",Toast.LENGTH_SHORT).show();
return false;
}
@Override
public void onTouchEvent(@NonNull RecyclerView rv, @NonNull MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.