gpt4 book ai didi

java - 尝试在空对象引用上调用虚拟方法 'void de.hdodenhof.circleimageview.CircleImageView.setOnClickListener... '

转载 作者:行者123 更新时间:2023-12-01 17:27:02 25 4
gpt4 key购买 nike

我在之前的项目中编写了几行代码,这些代码在单击个人资料图片时加载图库。我将代码从该项目复制粘贴到此处,进行了适当的更改,期望能够正常工作(因为它在其他应用程序上完美运行)。但我得到空指针异常。

Attempt to invoke virtual method 'void de.hdodenhof.circleimageview.CircleImageView.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.kujinn.meetup.Settings.onCreateView(Settings.java:78)

我尝试查看是否不小心使用了同一个 ID 两次,或者是否使用了错误的 View ,但似乎没有什么不合适的地方。

Java 代码:

   private CircleImageView profileImage
profileImage = (CircleImageView) getActivity().findViewById(R.id.edit_profile_image);
profileImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

//If version is greater than Marshmallow, User Permissions in required
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.M){

//Display message that user has denied permission
if(ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.READ_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){

Toast.makeText(getActivity(), "Permission Denied.", Toast.LENGTH_LONG).show();
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},1);

} else{

CropImage.activity()
.setGuidelines(CropImageView.Guidelines.ON)
.setAspectRatio(1,1)
.start(getActivity());
}
}

}
});

XML 代码

 <de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/edit_profile_image"
android:layout_width="184dp"
android:layout_height="177dp"
android:layout_marginTop="64dp"
android:src="@drawable/ic_person_black_24dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/edit_profile_toolbar">

</de.hdodenhof.circleimageview.CircleImageView>

Any help would be greatly appreciated ~


最佳答案

在这种情况下,可能有两种情况。要么是您在设置内容 View 之前实例化了 CircleImageView,要么您没有正确实例化 CircleImageView。确保您的“setContentView(R.layout.activity_layout)”在分配 profileImage 之前出现。空指针异常字面上意味着尚未设置父布局,但您正在调用其上的组件。这肯定会指向空。

关于java - 尝试在空对象引用上调用虚拟方法 'void de.hdodenhof.circleimageview.CircleImageView.setOnClickListener... ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61197647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com