【问题标题】:getActivity in ActivityActivity中的getActivity
【发布时间】:2017-05-06 20:19:03
【问题描述】:
我在 Activity 中使用 getActivity() 时遇到问题。它说无法解析方法 getActivity()。我正在使用它在 recyclerView 中进行 onClick。
这是我的代码
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), this));
我应该用什么来改变 getActivity?提前致谢
【问题讨论】:
标签:
android
android-recyclerview
onclicklistener
【解决方案1】:
您已经在Activity 中声明了您的代码。因此,您可以简单地使用this 来引用您所在的Activity。
mRecyclerView.setAdapter(mAdapter);
mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(this, this));
【解决方案2】:
改成
this
this 是对你所在的类的引用,例如 MainActivity.this
【解决方案3】:
我忘了实现recyclerclicklistener。在我实现方法并改变之后
getActivity
到
this
效果很好
extends AppCompatActivity implements RecyclerItemClickListener.OnItemClickListener
【解决方案5】:
所有提到的答案都是正确的。但是,有时 'this' 不能被引用为您的 Activity ,主要是当我们尝试从以下回调方法之一中传递它时:
view.setOnClickListener(v->showToast(this));
在这种情况下,使用类的全名传递活动,如下所示:
view.setOnClickListener(v->showToast(Sample.this));