如果数据来自 Firebase,如何从 Textview 读取数据
How to read data off Textview if data is coming from a Firebase
上下文:
该应用程序运行良好,其运行方式如下:
用户完成测验后 he/she 可以转到个人资料并查看 his/her 分数。像这样:
示例:
Score: 10
但我想要这样的东西:
Score: 10
Result: You got perfect score
我把代码放在下面。我真的不知道我做错了什么,因为我只是获取textview的数据,然后将其与数字进行比较。
我的代码有问题
//// PUT DATA IN RESULT MEANING ////
String result = getIntent().getExtras().get(String.valueOf(scoreTextview)).toString();
if (Integer.parseInt(result) == 10) {
result_meaning.setText("Congrats");
}
else if ((Integer.parseInt(result) >= 5) && (Integer.parseInt(result) <= 9)) {
result_meaning.setText("nc");
}
else
{
result_meaning.setText("OK");
}
//// PUT DATA IN RESULT MEANING ////
完整代码
ref2.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
Score userScore = snapshot.getValue(Score.class);
if (userScore != null) {
String score = userScore.result;
scoreTextview.setText(score);
//// PUT DATA IN RESULT MEANING ////
String result = getIntent().getExtras().get(String.valueOf(scoreTextview)).toString();
if (Integer.parseInt(result) == 10) {
result_meaning.setText("Congrats");
}
else if ((Integer.parseInt(result) >= 5) && (Integer.parseInt(result) <= 9)) {
result_meaning.setText("nc");
}
else {
result_meaning.setText("OK");
}
//// PUT DATA IN RESULT MEANING ////
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
如果分数有值,则不需要再次从文本视图中获取分数值。你可以这样做:
if (Integer.parseInt(score) == 10) {
result_meaning.setText("Congrats");
}
else if ((Integer.parseInt(score) >= 5) && (Integer.parseInt(score) <= 9)) {
result_meaning.setText("nc");
}
else {
result_meaning.setText("OK");
}
上下文:
该应用程序运行良好,其运行方式如下:
用户完成测验后 he/she 可以转到个人资料并查看 his/her 分数。像这样:
示例:
Score: 10
但我想要这样的东西:
Score: 10
Result: You got perfect score
我把代码放在下面。我真的不知道我做错了什么,因为我只是获取textview的数据,然后将其与数字进行比较。
我的代码有问题
//// PUT DATA IN RESULT MEANING ////
String result = getIntent().getExtras().get(String.valueOf(scoreTextview)).toString();
if (Integer.parseInt(result) == 10) {
result_meaning.setText("Congrats");
}
else if ((Integer.parseInt(result) >= 5) && (Integer.parseInt(result) <= 9)) {
result_meaning.setText("nc");
}
else
{
result_meaning.setText("OK");
}
//// PUT DATA IN RESULT MEANING ////
完整代码
ref2.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
Score userScore = snapshot.getValue(Score.class);
if (userScore != null) {
String score = userScore.result;
scoreTextview.setText(score);
//// PUT DATA IN RESULT MEANING ////
String result = getIntent().getExtras().get(String.valueOf(scoreTextview)).toString();
if (Integer.parseInt(result) == 10) {
result_meaning.setText("Congrats");
}
else if ((Integer.parseInt(result) >= 5) && (Integer.parseInt(result) <= 9)) {
result_meaning.setText("nc");
}
else {
result_meaning.setText("OK");
}
//// PUT DATA IN RESULT MEANING ////
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
如果分数有值,则不需要再次从文本视图中获取分数值。你可以这样做:
if (Integer.parseInt(score) == 10) {
result_meaning.setText("Congrats");
}
else if ((Integer.parseInt(score) >= 5) && (Integer.parseInt(score) <= 9)) {
result_meaning.setText("nc");
}
else {
result_meaning.setText("OK");
}