- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Android Studio 上的 fragment 上显示用户信息。当我完成代码时,没有错误。但是,当我在设备上运行应用程序时,当我转到帐户 fragment 时,应用程序停止工作。当我检查日志猫时,它显示:
java.lang.NullPointerException:尝试调用虚拟方法“java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()”
我不知道我应该解决什么问题。有人能帮我吗?这是学校任务。
这是我的 logcat 错误
11-20 17:46:19.829 14051-14051/com.example.ghifa.mrad E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ghifa.mrad, PID: 14051
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()' on a null object reference
at com.example.ghifa.mrad.AkunFrg$2.onDataChange(AkunFrg.java:107)
at com.google.firebase.database.core.ValueEventRegistration.fireEvent(com.google.firebase:firebase-database@@16.0.4:75)
at com.google.firebase.database.core.view.DataEvent.fire(com.google.firebase:firebase-database@@16.0.4:63)
at com.google.firebase.database.core.view.EventRaiser$1.run(com.google.firebase:firebase-database@@16.0.4:55)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:160)
at android.app.ActivityThread.main(ActivityThread.java:5541)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)
这是我的 Java
ImageView photo;
ImageView back;
TextView topNama;
TextView topEmail;
TextView mSaldo;
TextView mUsername;
TextView mNama;
TextView mEmail;
TextView mHP;
TextView mAlamat;
Button toEdit;
Uri uriProfileimage;
FirebaseUser firebaseUser;
String profileid;
public AkunFrg() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_akun_frg, container, false);
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
SharedPreferences prefs = getContext().getSharedPreferences("PREFS", Context.MODE_PRIVATE);
profileid = prefs.getString("profileid", "none");
photo = view.findViewById(R.id.foto);
topNama = view.findViewById(R.id.ac_top_nama);
topEmail = view.findViewById(R.id.ac_top_email);
mSaldo = view.findViewById(R.id.saldo_akun);
mUsername = view.findViewById(R.id.ac_username);
mNama = view.findViewById(R.id.ac_nama);
mEmail = view.findViewById(R.id.ac_email);
mHP = view.findViewById(R.id.ac_hp);
mAlamat = view.findViewById(R.id.ac_alamat);
toEdit = view.findViewById(R.id.to_edit);
userinfo();
if(profileid.equals(firebaseUser.getUid()))
{
toEdit.setText("Edit Profil");
}
toEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
return view;
}
private void userinfo()
{
DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Users").child(profileid);
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(firebaseUser != null)
{
User user = dataSnapshot.getValue(User.class);
Glide.with(getContext()).load(user.getImageurl()).into(photo);
topNama.setText(user.getNama());
mUsername.setText(user.getUsername());
mSaldo.setText(user.getSaldo());
mNama.setText(user.getNama());
mHP.setText(user.getNo_hp());
mAlamat.setText(user.getAlamat());
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
最佳答案
写这篇文章之前
Glide.with(getContext()).load(user.getImageurl()).into(photo);
确保检查该值是否存在
像这样
if(user.getImageurl() != null){
Glide.with(getContext()).load(user.getImageurl()).into(photo);
}
或者将代码放入 try/catch 语句中,如下所示
try{
Glide.with(getContext()).load(user.getImageurl()).into(photo);
}catch(NullPointerException e){
Log.e(TAG, e.toString())
}
希望对你有帮助
关于java.lang.NullPointerException : Attempt to invoke virtual method 'java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53396251/
在 Tomcat 6/Ubuntu 12.04 上启动 Grails 2.1.0 应用程序时出现以下错误。 Error 500 - Internal Server Error. groovy.lang
在运行 Storm 拓扑时,我收到此错误。拓扑完美运行 5 分钟,没有任何错误,然后失败。我正在使用 Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS as 300 sec i
我有一个 jsp 代码在其中一台机器上运行良好。但是当我复制到另一台机器时,我得到了这个 no such method found 异常。我是 Spring 的新手。有人可以解释我错过了什么吗? 以下
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我的代码在下面给出了一个错误; Exception in thread "main" java.lang.NoSuchMethodError: com/myApp/Client.cypherCBC(L
我正在尝试一个 Restful web 服务示例,所以当我要访问 url 时,我遇到了异常 java.lang.NoSuchMethodError: jersey.repackaged.com.goo
我正在将一个 Spring web 项目转换为一个 Maven 项目,但我收到了这个错误: java.lang.NoSuchMethodError: org.jboss.logging.Logger.
在我的项目中,我有一个像这样的枚举: public enum MyEnum { FIRST(1), SECOND(2); private int value; private MyEnum(int v
我创建了这个简单的示例,用于读取 Linux 正常运行时间: public String getMachineUptime() throws IOException { String[] di
我正在使用 Eclipse,并且正在使用 Java。我的目标是使用 bogoSort 方法对 vector 进行排序在一个 vector (vectorExample)中适应我的 vector 类型,
我正在运行以下查询。它显示一条错误消息。如何解决这个错误? ListrouteList=null; List companyList = session.createS
我有以下模型类: @Entity @Table(name="user_content") @org.hibernate.annotations.NamedQueries({ @org.
我有那个错误。这是我的代码: GmailSettingsService service = new GmailSettingsService(APPLICATION_NAME, DOMAIN_NAME
实际上我在执行我的java程序时遇到了下面提到的错误 Exception in thread "pool-1-thread-1" java.lang.ClassCastException: jav
java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.String 我在以下代码中遇到此异常: Strin
我正在尝试从 linkedhashset 中检索随机元素。下面是我的代码,但它每次都给我异常。 private static void generateRandomUserId(Set userIds
我已经完成了 Android 中的代码: List spinnerArray = new ArrayList(); for (int i = 0; i item = (LinkedTreeMap)
这个问题已经有答案了: Explanation of ClassCastException in Java (12 个回答) 已关闭 6 年前。 我已经编写了 java 到 Json 的代码,同时从页
这个问题在这里已经有了答案: ClassCastException java.lang.Long cannot be cast to clojure.lang.IFn (4 个答案) 关闭 6 年前
我在运行时遇到问题来编译这段代码,这给我一个错误,java.lang.Integer 无法转换为 Java.lang.Double。如果有人帮助我更正此代码,我将非常高兴 double x; pu
我是一名优秀的程序员,十分优秀!