java - 尝试使用变量时 Android 应用程序崩溃
问题描述
你好,在我的应用程序中,我有三个片段,其中一个是 HomeFragment,我从 Firebase 实时数据库中获取所有用户详细信息,onDataChange
如果我将用户数据存储到用户对象中,但是当我尝试在按钮中使用来自该对象的信息时onClick
事件我的应用程序崩溃。
Logcat 错误
08-01 13:12:51.900 11158-11158/com.cbcwebs.luto.luto D/AndroidRuntime: Shutting down VM
08-01 13:12:51.900 11158-11158/com.cbcwebs.luto.luto E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.cbcwebs.luto.luto, PID: 11158
android.content.res.Resources$NotFoundException: String resource ID #0x4d
at android.content.res.Resources.getText(Resources.java:331)
at android.widget.Toast.makeText(Toast.java:287)
at com.cbcwebs.luto.luto.HomeFragment.processUSerBuy(HomeFragment.java:82)
at com.cbcwebs.luto.luto.HomeFragment$1.onClick(HomeFragment.java:69)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22265)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
08-01 13:17:39.606 11158-11186/com.cbcwebs.luto.luto I/FirebaseAuth: [FirebaseAuth:] Loading module via FirebaseOptions.
[FirebaseAuth:] Preparing to create service connection to gms implementation
首页片段
public class HomeFragment extends Fragment {
private Integer time;
private TextView timeLeftView;
Button btn;
private Integer currentCoinsUser;
private Integer currentCoins;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
getUserInfo();
btn = (Button) rootView.findViewById(R.id.playLotteryButton);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
processUSerBuy();
}
});
return rootView;
}
public void processUSerBuy() {
Toast.makeText(getActivity(),currentCoinsUser, Toast.LENGTH_LONG).show();
}
public void getUserInfo() {
String UID = "XXXXXXXXXXXX";
DatabaseReference mFirebaseDbReferenceUserChild = FirebaseDatabase.getInstance().getReference("users");
DatabaseReference mFirebaseDbReferenceCurrentUser= mFirebaseDbReferenceUserChild.child(UID);
mFirebaseDbReferenceCurrentUser.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
Userbalance.setText("₹"+user.getUserBalanace());
Userearning.setText("₹"+user.getUserEarning());
UserInvest.setText("₹"+user.getUserInvest());
currentCoins = user.getUserCoins();
storeUserInfo(currentCoins);
}
@Override
public void onCancelled(DatabaseError name) {
}
});
}
public void storeUserInfo(Integer currentCoins) {
currentCoinsUser = currentCoins;
}
}
解决方案
推荐阅读
- android - 设备管理员弃用后锁定相机
- spring-boot - 在我的 Spring Boot RestApi 中使用 Lombok 有什么缺点?
- powerbi - 如何按每个月按状态计算客户数量,以了解每个月有多少客户活跃或入职
- docker - Docker Kubernetes (Mac) - Autoscaler 无法找到指标
- intellij-idea - IntelliJ IDEA 快速文档不显示带有自定义标签的 javadoc
- amazon-web-services - 如何在不公开文件的情况下将文件从一个 S3 存储桶访问到另一个存储桶?
- mysql - 在不使用 IN 语句的情况下重新设计查询
- r - 仅将 geom 默认美学更改为主题组件的一部分
- ruby-on-rails - Rails 5 嵌套路由
- artificial-intelligence - MonteCarloTreeSearch 是否适合这种问题规模(大动作/状态空间)?