android - java.lang.Long 无法转换为 java.lang.String android studio settext
问题描述
有谁知道如何解决这个问题?
java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
错误线
String data = (String) dataSnapshot.child("money").getValue();
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
final String userUid = user.getUid();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.child("Users").child(userUid).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ERROR LINE String data = (String) dataSnapshot.child("money").getValue();
moneyText.setText(data);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
解决方案
以这种方式更改您的代码
String data = ((Long) dataSnapshot.child("money").getValue()).toString();
您的数据很长,您正在转换为 String
推荐阅读
- java - 在 Tomcat 中设置属性时出现 NullPointerException
- jenkins - Jenkins Pipeline 中的 SSH 命令重复自身
- javascript - 在“MaterialTopTabNavigator”选项卡中使用“StackNavigator”。(反应原生 + 博览会)
- image-processing - 如何在 Julia 中导入整数 tif 文件
- mysql - MYSQL 为每个不同的条目选择平均值
- angular - 开始使用 ABLY
- html - 如何使父属性不覆盖后代
- java - Chronicle 产品是否支持 32 位 JVM 和 Java 8
- powershell - 纽曼与 AzureDevOps + Powershell
- sql-server - 如何在 SQL Server 列中填充值