Java 无法在片段类窗体适配器类内强制转换onItem clicklistener

Java 无法在片段类窗体适配器类内强制转换onItem clicklistener,java,android,android-fragments,adapter,Java,Android,Android Fragments,Adapter,我有一个带有recycleview的片段,我在其中填充了来自internet的json项。 它加载得很好,我想做的下一步是在单击任何行时打开新活动。它在活动中工作,所以我修改了片段的相同代码,但对于它在第行抛出异常的片段 mExampleAdapter.setOnItemClickListener(getActivity()); 使用errror setOnItemClickListener时,reference adatper不能应用于片段activity,因此当我将行更改为

我有一个带有recycleview的片段,我在其中填充了来自internet的json项。 它加载得很好,我想做的下一步是在单击任何行时打开新活动。它在活动中工作,所以我修改了片段的相同代码,但对于它在第行抛出异常的片段

       mExampleAdapter.setOnItemClickListener(getActivity());
使用errror setOnItemClickListener时,reference adatper不能应用于片段activity,因此当我将行更改为

(ExampleAdapter.OnItemClickListener) 
当我建造和运行时。然后,应用程序崩溃,错误是无法将包含framgnet的Mainactivity强制转换到。例如Adapter$OnItemClickListener

这是我的整个片段类

公共类Mynotes扩展片段实现ExampleAdapter.OnItemClickListener{
公共静态最终字符串YTD_LINK=“LINK”;
私人回收视图mRecyclerView;
私有示例适配器mExampleAdapter;
私有ArrayList mExampleList;
私有请求队列mRequestQueue;
字符串url=”https://api.myjson.com/bins/16mecx";
公共Mynotes(){
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//为该碎片膨胀布局
视图=充气机。充气(R.layout.activity_jsonfeed,container,false);
mRecyclerView=view.findviewbyd(R.id.recycler\u视图);
mRecyclerView.setHasFixedSize(true);
setLayoutManager(新的LinearLayoutManager(getActivity());
mRecyclerView.addItemDecoration(新的MyDividerItemDecoration(getActivity(),DividerItemDecoration.VERTICAL,36));
mExampleList=newArrayList();
mExampleAdapter=新的ExampleAdapter(getActivity(),mExampleList);
mRecyclerView.setAdapter(mExampleAdapter);
mExampleAdapter.setOnItemClickListener((ExampleAdapter.OnItemClickListener)getActivity());
parseJSON();
返回视图;
}
私有void parseJSON(){
JsonObjectRequest=新的JsonObjectRequest(request.Method.GET,url,null,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
myProgressBar.setVisibility(View.GONE);
试一试{
JSONArray JSONArray=response.getJSONArray(“hits”);
for(int i=0;i}
在片段中工作时,将getActivity替换为getContext

你可以在这里读更多


您的活动应该实现ExampleAdapter.OnItemClickListener

如果
Mynotes
是实现
ExampleAdapter.OnItemClickListener
的工具,为什么您要尝试将
活动
传递给
mExampleAdapter.setOnItemClickListener()
?您不想要当前的
Mynotes
实例;i、 例如,
this
?嗯,用this代替getActivityt应该可以解决问题。但是,当我构建并运行应用程序时,当我单击任意位置时,它不会显示任何应该打开新活动的操作。我不太确定“它不会显示任何操作”是什么意思,但您忘记将您的
示例视图持有者设置为
视图中的
OnClickListener
;e、 例如,
itemView.setOnClickListener(这个),在
示例ViewHolder
构造函数中。对不起,Mike,我编写的操作参考意味着我想在单击任何行时打开NewActivity类。好的,是的,您忘记设置
OnClickListener