我无法打开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);
日志:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.taskapprealm.debug, PID: 8045
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.taskapprealm.main.MainActivity.onEditClick(com.example.taskapprealm.edit.EditFragment)' on a null object reference
at com.example.taskapprealm.main.MainAdapter$2.onClick(MainAdapter.java:94)
at android.view.View.performClick(View.java:5198)
at android.view.View$PerformClick.run(View.java:21147)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
似乎您在引用RecyclerView
而不是片段
容器:
transaction.replace(R.id.recycler_view, fragment);
可能,recycler\u视图
应该替换为您的片段
容器。另外,检查EditFragment
视图是否正确,并且没有被onCreateView()方法中的任何错误或打字错误所取代。
此外,如前所述,
mainActivity
看起来是空的。
阅读:如何在回收器视图适配器中获取上下文
因此,在我的have中,我有回收视图,我想要我的再循环视图项目之间的间隔,所以这里我有两个选项 < li >我可以子类化< code > RecyclerView。ItemDecoration < li >我可以将< code >边距添加到项目本身 Cleary第二个选项很简单,使用该选项我得到了想要的结果,但在网上我看到人们使用并推荐它。 我想知道使用< code>ItemDecoration是
错误:任务“:app:TransformDexArchiveWithExternalLibsDexMergerForDebug”执行失败。 java.lang.RuntimeException:com.android.builder.dexing.DexArchivEmergerException:无法合并dex 我尝试了以下帖子推荐的每一个解决方案: 后1 职位2 这是我的应用程序Gradle:
在MacOS升级到Big Sur并将netbeans_jdkhome更改为netbeans.conf文件后,应用程序打开并运行,但无法打开我的项目之一,因为文档下的项目文件框显示为空内容(当然我的文件也在那里)。 也不可能创建一个新项目,包括一些日志消息: Apache NetBeans 11.2和12.2也存在同样的问题。 所以我想Netbeans是不允许访问磁盘上的文件的。我进入了我的“系统”
我正在使用flutter来研发App。我在我的项目中添加了fire base,之后当我运行应用程序时,调试控制台中出现了一些错误。我删除了fire base库,但其他库再次出现错误。 注意:我不使用Android X 建筑格拉德尔: bulild.gradle(app) > 运行Gradle: ProcessException: Process"E:\MehrdadyOmidi\Project\f
我已经将我们的一个Android项目从旧的Groovy和和。 虽然“它在我的机器上工作”——特别是:我从Groovy转换为静态编程语言的原始项目在其原始目录下工作正常——但我所有的同事在克隆回购时都无法打开该项目。重要的是,当我克隆回购到其他目录时,我也不能自己打开项目(在同一台机器上安装相同的AS)。所以,我怀疑有一些额外的细节丢失在一些配置文件,但我似乎无法找出哪个... 详情: 当我只使用
当我试图从Intellij中打开JavaFx scenebuilder中的fxml文件时,它给出了以下错误:无法打开“示例”。fxml“打开”操作失败。确保所选文件是有效的FXML文档。请参阅下面的图片以查看错误的foto。