簡體   English   中英

如何在recyclerview上實現onclick方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM