Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我能';t在Recyclerview项中打开片段_Android_Android Recyclerview - Fatal编程技术网

Android 我能';t在Recyclerview项中打开片段

Android 我能';t在Recyclerview项中打开片段,android,android-recyclerview,Android,Android Recyclerview,我无法打开recyclerview项中的片段。当我单击项中的按钮时,我得到一条消息,其中有一个空对象引用错误:onEditClick(com.example.taskapprealm.edit.EditFragment)”。Null位于适配器内部 活动中的方法: @Override public void onEditClick(EditFragment editFragment) { Fragment fragment = new EditFragment(); Fragm

我无法打开recyclerview项中的片段。当我单击项中的按钮时,我得到一条消息,其中有一个空对象引用错误:onEditClick(com.example.taskapprealm.edit.EditFragment)”。Null位于适配器内部

活动中的方法:

 @Override
public void onEditClick(EditFragment editFragment) {
    Fragment fragment = new EditFragment();

    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    transaction.replace(R.id.recycler_view, fragment);
    transaction.addToBackStack(null);
    transaction.commit();

}
和适配器中的onBindViewHolder:

 @Override
public void onBindViewHolder(@NonNull final TaskViewHolder holder, @SuppressLint("RecyclerView") final int position) {
   Task task = tasks.get(position);
   holder.textItem.setText(task.getText());
   holder.dateItem.setText(task.getDate());
   holder.timeItem.setText(task.getTime());
   holder.deleteButton.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           int position = holder.getAdapterPosition();
           Log.d(TAG, "DELETE_CLICK " + holder.getAdapterPosition());
           callback.onDeleteClick(position);
           notifyItemRemoved(holder.getAdapterPosition());
       }

   });


   holder.editButton.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           Toast.makeText(v.getContext(), "TEST " + holder.getAdapterPosition(), Toast.LENGTH_LONG).show();

           mainActivity.onEditClick(editFragment);
       }
   });

}
接口:

 void onEditClick(EditFragment editFragment);
日志:


您似乎在引用
RecyclerView
而不是您的
Fragment
容器:

transaction.replace(R.id.recycler_view, fragment);

可能,
recycler\u视图
应该替换为您的
片段
容器。另外,检查
EditFragment
视图是否正确,并且没有被
onCreateView()方法中的任何错误或键入替换

另外,如前所述,
mainActivity
看起来是空的


阅读:

您可以发布您的崩溃日志吗?可以。我刚刚粘贴了。您的
main活动
适配器中为空
我知道。如何调用MainActivity?好的,我刚刚在MainActivity的方法中更改了main_活动上的recyclerview_项,并且在适配器中也更改了此代码:MainActivity.onEditClick(editFragment);在这个页面上:callback.onEditClick(位置);谢谢你的帮助!是的。你是对的。这是我第一次使用fragment和recyclerview,但现在我没有。
transaction.replace(R.id.recycler_view, fragment);