亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

單擊行時無法轉到新活動

單擊行時無法轉到新活動

慕勒3428872 2021-09-12 16:50:55
我一直試圖在單擊 TextView 時顯示一個選項菜單。我已經能夠做到這一點。但是現在當我點擊該行時,我無法進入下一個活動。RecyclerTouchListener.javapublic class RecyclerTouchListener implements RecyclerView.OnItemTouchListener {    private ClickListener clicklistener;    private GestureDetector gestureDetector;    public RecyclerTouchListener(Context context, final RecyclerView recycleView, final ClickListener clicklistener) {        this.clicklistener = clicklistener;        gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {            @Override            public boolean onSingleTapUp(MotionEvent e) {                return true;            }            @Override            public void onLongPress(MotionEvent e) {                View child = recycleView.findChildViewUnder(e.getX(), e.getY());                if (child != null && clicklistener != null) {                    clicklistener.onLongClick(child, recycleView.getChildAdapterPosition(child));                }            }        });    }    @Override    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {        View child = rv.findChildViewUnder(e.getX(), e.getY());        if (child != null && clicklistener != null && gestureDetector.onTouchEvent(e)) {            clicklistener.onClick(child, rv.getChildAdapterPosition(child));        }        return false;    }    @Override    public void onTouchEvent(RecyclerView rv, MotionEvent e) {    }    @Override    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {    }    public interface ClickListener {        void onClick(View view, int position);        void onRowClick(View view, int position);        void onLongClick(View view, int position);    }}我在本網站上搜索了許多不同的文章,并嘗試了成員發布的幾種不同的解決方案,但我仍然無法進行新的活動。你如何創建一個 onClickListener() 來監聽主行上的點擊,以及一個 TextView。任何幫助將不勝感激。
查看完整描述

3 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

解決方案:

刪除recyclerview.onTouchListener..... 我們不再需要它了。

holder對象上的單擊偵聽器比這更好。請看下面的例子:

類似于holder.bowlerLeagueId.setText(bowler.getLeagueId());你也可以寫:

holder.bowlerLeagueId.setOnClickListener(....) {
     ........ (Write here)}

然后,在您的 (Write here) 內容中,編寫代碼以導航到下一個活動。

同樣,您可以為任何 holder.viewid.setOnClick 等執行此操作。

希望能幫助到你。


查看完整回答
反對 回復 2021-09-12
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

我可以知道您是否在清單文件中注冊了 BowlerActivity?單擊視圖后,請附上日志。

我看到您初始化了本地偵聽器并實現了 onLongClick 和 onTouch,但是您沒有設置 OnClick 事件并傳輸到自定義偵聽器回調作為 OnRowClick 的視圖


查看完整回答
反對 回復 2021-09-12
  • 3 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號