Java 我想做一点计算,然后将值传递给另一个活动的TextView
我想将其中一个TextView的值乘以100,将其发送到模型类,并在另一个活动的TextView上显示它 我试过了,但没用。我得到这个错误 android.content.res.Resources$NotFoundExceptionJava 我想做一点计算,然后将值传递给另一个活动的TextView,java,android,firebase,Java,Android,Firebase,我想将其中一个TextView的值乘以100,将其发送到模型类,并在另一个活动的TextView上显示它 我试过了,但没用。我得到这个错误 android.content.res.Resources$NotFoundException private void getProductDetails(String productID) { DatabaseReference productRef = FirebaseDatabase.getInstance().getReferenc
private void getProductDetails(String productID)
{
DatabaseReference productRef = FirebaseDatabase.getInstance().getReference().child("Products");
productRef.child(productID).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
if(dataSnapshot.exists())
{
Products products = dataSnapshot.getValue(Products.class);
productName.setText(products.getPname());
productPrice.setText(Integer.valueOf(products.getPrice()) * 100);
productDescription.setText(products.getDescription());
Picasso.get().load(products.getImage()).into(productImage);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
尝试使用Integer.parseInt()进行转换,确保将其写入Try catch中(如果输入的字符串不能有效解析为整数)
如果要将整个对象传递给下一个活动,请使用以下代码:
Intent intent = new Intent(ProductDetails2Activity.this,CartActivity.class);
intent.putExtra("yourKey",cartMap);
startActivity(intent);
在创建下一个活动时,将hashmap设置为:
Intent intent = getIntent();
HashMap<String, Object> hashMap =
(HashMap<String, Object>)intent.getSerializableExtra("yourKey");
priceTextView.setText(hashMap.get("price")+"");
Intent-Intent=getIntent();
HashMap HashMap=
(HashMap)intent.getSerializableExtra(“yourKey”);
priceTextView.setText(hashMap.get(“price”)+“”);
当您尝试将整数放入文本视图文本时,通常会发生这种问题
大概是这样的:
final String valueStr = textview.getText().toString(); // valueStr = 1
int value = Interger.parseInt(valueStr)
textview.setText(value + 100)
它不会将text设置为101,而是尝试在R表中找到101的值,因为您正在将Int值传递给setText。
只需检查您的setText,您可能会找到一个具有int值而不是字符串的setText
您的问题在这一行:
productPrice.setText(Integer.valueOf(products.getPrice()) * 100);
试试这个:
productPrice.setText(Integer.valueOf(products.getPrice()) * 100 + "");
什么不起作用?@JakeB android.content.res.Resources$NotFoundException当我运行appmyTextView.setText(String.valueOf(myvalue))或myTextView.setText(myvalue+“”)将值始终转换为字符串时会出现错误,否则它会认为您希望显示使用整数值引用的资源。。
productPrice.setText(Integer.valueOf(products.getPrice()) * 100 + "");