Java 无法显示意图中的字符串
在运行时,我只显示一条文本Java 无法显示意图中的字符串,java,android,Java,Android,在运行时,我只显示一条文本错误\u答案 public class AnswerActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_answer); TextView textViewDis
错误\u答案
public class AnswerActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_answer);
TextView textViewDisplayResult = (TextView) findViewById(R.id.text_view_display_result);
textViewDisplayResult.setText(getIntent().getExtras().getString("KEY_ALL_CHECKED"));
textViewDisplayResult.setText(getIntent().getBooleanExtra("KEY_ANSWER", false)?R.string.Good_answer:R.string.Wrong_answer);
}
更新后
public class MainActivity extends AppCompatActivity {
private static int NUMBER_OF_QUESTIONS = 3;
static boolean[] answer = new boolean[NUMBER_OF_QUESTIONS];
static boolean[] checked = new boolean[NUMBER_OF_QUESTIONS];
static boolean[] isAnswered = new boolean[NUMBER_OF_QUESTIONS];
final Intent intent = new Intent(MainActivity.this, AnswerActivity.class);
buttonCheckAnswer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!allAnswersChecked())
intent.putExtra("KEY_ALL_CHECKED", R.string.text_not_checked);
else if (checkAnswers())
intent.putExtra("KEY_ANSWER", R.string.Good_answer);
else
intent.putExtra("KEY_ANSWER", R.string.Wrong_answer);
startActivity(intent);
}
});
public static void checkSelected() {
for (boolean radioChecked : checked) {
if (radioChecked) {
buttonCheckAnswer.setVisibility(View.VISIBLE);
break;
}
}
}
private boolean checkAnswers() {
for (boolean radioAnswer : answer) {
if (!radioAnswer) {
return false;
}
}
return true;
}
private boolean allAnswersChecked() {
for (boolean radioAnswer : isAnswered) {
if (!radioAnswer) {
return false;
}
}
return true;
}
和回答活动
public class AnswerActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_answer);
TextView textViewDisplayResult = (TextView) findViewById(R.id.text_view_display_result);
textViewDisplayResult.setText(getIntent().getExtras().getString("KEY_ALL_CHECKED"));
textViewDisplayResult.setText(getIntent().getBooleanExtra("KEY_ANSWER", false)?getString(R.string.Good_answer):getString(R.string.Wrong_answer));
}
}第二个
setText
将覆盖第一个setText
值
....
String x = getIntent().getExtras().getString("KEY_ALL_CHECKED");
textViewDisplayResult.setText(getIntent().getBooleanExtra("KEY_ANSWER", false) ? x +" "+ R.string.Good_answer: x +" "+ R.string.Wrong_answer);
textViewDisplayResult将始终覆盖。 如果希望两者都显示在同一文本视图中,只需添加如下文本:
textViewDisplayResult.setText(getIntent().getExtras().getString("KEY_ALL_CHECKED"));
textViewDisplayResult.append(getIntent().getBooleanExtra("KEY_ANSWER", false)?getString(R.string.Good_answer):getString(R.string.Wrong_answer));
这将在同一文本视图中显示两个结果。您是否知道第一个setText被第二个setText覆盖?学习连接,然后做一些设置,如何解决它?请帮助。您是如何发送数据的?…@rafsanahmad007,您的确切意思是什么?您的代码Roljhon没有显示任何错误,但现在,当运行“checkAnswerButton”时,按下“checkAnswerButton”后,我没有得到上面的任何答案,但是
NULL 2131099670
Roljhon,我再次查看了您的代码-我是否必须在中添加内容?”
?@Ramona不,你不需要,它只会放一个空格。Shi..,我无法让它工作:(为什么我仍然只能得到一个值错误答案
:(@Ramona可能问题不在于这个特定的代码块,而在于我们不知道你没有发布的东西,最好发布你的整个代码,将字符串发送到这个意图,以及你的整个活动代码。这可能会帮助我们帮助你谢谢你。最终我希望在同一文本视图中显示三个文本-“全部选中”、“正确答案”和“错误答案”
。您的代码给了我错误无法应用在TextView中追加的。您能帮忙吗?现在当我按按钮答案时,它崩溃了
:(什么是崩溃日志你能分享吗,因为你似乎有一些不同的问题。这是不可能的,请重新启动你的android监视器,因为我只更改了getString(),它返回你的字符串,如果你能分享你的崩溃日志,这将更好地帮助你。好的。等一下。我将再次打开a.studio。)