我想在发生错误后在Android应用程序屏幕上显示错误消息。所以我在strings.xml文件中放了一个字符串,在代码中我只想告诉系统显示该代码。
但我不完全确定如何做到这一点。我有这样的东西,我写了:
TextView errorMessage = (TextView) findViewById(R.id.add_problem_validation_error);
errorMessage.setText(R.string.add_problem_validation_error);
但它甚至没有编译,因为我不确定如何正确引用string.xml项并显示它们。
知道如何以正确的方式做到这一点吗?
谢谢!
答案 0 :(得分:1)
为什么不使用Toast?
Toast.makeText(getApplicationContext(),
R.string.add_problem_validation_error, Toast.LENGTH_LONG).show();
或者您可以使用警告对话框..
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.add_problem_validation_error)
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MyActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
答案 1 :(得分:1)
请尝试使用此代码:
TextView errorMessage = (TextView) findViewById(R.id.add_problem_validation_error);
errorMessage.setText(getResources().getString(R.string.add_problem_validation_error));
变量R.string.add_problem_validation_error实际上是Android操作系统用来指向资源的整数id。您需要使用resources类来获取该id的相应值。
您的TextView将需要xml文件中的id行:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/add_problem_validation_error"
/>
您的strings.xml文件需要一个带有消息的字符串行:
<string name="add_problem_validation_error">Your message here</string>