活动

时间:2017-05-06 20:19:04

标签: android android-recyclerview onclicklistener

我在Activity中遇到getActivity()问题。它说无法解决方法getActivity()。我正在使用它在recyclerView中制作onClick。

这是我的代码

 mRecyclerView.setAdapter(mAdapter);
 mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), this));

我应该如何更改getActivity?提前致谢

5 个答案:

答案 0 :(得分:2)

您已在Activity内声明了自己的代码。因此,您只需使用this来引用您所在的Activity

mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(this, this));

答案 1 :(得分:0)

将其更改为

this

this是对您所在班级的引用,例如MainActivity.this

答案 2 :(得分:0)

我忘了实施recyclerclicklistener。在我实现方法并更改

之后
getActivity

this

它工作正常

extends AppCompatActivity implements RecyclerItemClickListener.OnItemClickListener

答案 3 :(得分:0)

你可以传递这样的参数:

mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(this, mRecyclerView));

或者您可以参考此详细信息: - Android - RecyclerView: Implementing single.

答案 4 :(得分:0)

所有提到的答案都是正确的。但是,有时'this'不能被引用为您的Activity,主要是当我们尝试从以下一种回调方法中传递它时:

view.setOnClickListener(v->showToast(this));

在这种情况下,请使用此类的全名来传递活动:

view.setOnClickListener(v->showToast(Sample.this));