我一直試圖在單擊 TextView 時(shí)顯示一個(gè)選項(xiàng)菜單。我已經(jīng)能夠做到這一點(diǎn)。但是現(xiàn)在當(dāng)我點(diǎn)擊該行時(shí),我無法進(jìn)入下一個(gè)活動(dòng)。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); }}我在本網(wǎng)站上搜索了許多不同的文章,并嘗試了成員發(fā)布的幾種不同的解決方案,但我仍然無法進(jìn)行新的活動(dòng)。你如何創(chuàng)建一個(gè) onClickListener() 來監(jiān)聽主行上的點(diǎn)擊,以及一個(gè) TextView。任何幫助將不勝感激。
3 回答

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
解決方案:
刪除recyclerview.onTouchListener...
.. 我們不再需要它了。
holder
對(duì)象上的單擊偵聽器比這更好。請(qǐng)看下面的例子:
類似于holder.bowlerLeagueId.setText(bowler.getLeagueId());
你也可以寫:
holder.bowlerLeagueId.setOnClickListener(....) { ........ (Write here)}
然后,在您的 (Write here) 內(nèi)容中,編寫代碼以導(dǎo)航到下一個(gè)活動(dòng)。
同樣,您可以為任何 holder.viewid.setOnClick 等執(zhí)行此操作。
希望能幫助到你。

慕哥9229398
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
我可以知道您是否在清單文件中注冊(cè)了 BowlerActivity?單擊視圖后,請(qǐng)附上日志。
我看到您初始化了本地偵聽器并實(shí)現(xiàn)了 onLongClick 和 onTouch,但是您沒有設(shè)置 OnClick 事件并傳輸?shù)阶远x偵聽器回調(diào)作為 OnRowClick 的視圖
添加回答
舉報(bào)
0/150
提交
取消