我正在尝试将一个字符串添加到以下警告框的正面按钮,但它会不断发送错误消息。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(R.string.checkNetwork).setTitle(
R.string.checkNetworkTitle);
builder.setIcon(R.drawable.ic_warning);
builder.setPositiveButton(android.R.string.continue, new warningContinue());
AlertDialog dialog = builder.create();
dialog.show();
有任何帮助吗?它似乎适用于标题和消息,但不适用于按钮......
提前致谢。
编辑:错误说:
方法setPositiveButton(int,DialogInterface.OnClickListener)中 AlertDialog.Builder类型不适用于参数 (Class,warningContinue)
所以它似乎期望一个整数,但我想知道是否有任何方法可以使用字符串进行本地化目的?
EDIT2:
好吧到底是怎么回事。问题在于字符串名称;由于某种原因,我不会让我的字符串继续命名。 O_O
答案 0 :(得分:2)
您不想使用“android.R.string.continue”。 “包名”.R.string.continue就是你想要的。这是你在android中进行本地化的通常方式。 id基于用户系统语言自动提供多语言支持。您只需创建多个“值”目录。 https://developer.android.com/guide/topics/resources/localization.html为您提供有关本地化的更多信息。
此外,你不能使用“继续”作为名称,使用“str_continue”或类似的东西(“return”或“break”等相同。)。它们在java中保留。有关详细信息,请阅读链接:http://java.about.com/od/javasyntax/a/reservedwords.htm
因为你没有发布“warningContinue()”的代码,我想你知道它必须扩展“DialogInterface.OnClickListener()”。此外,您应该考虑按照惯例原因将您的类写成第一个字符大写,有关更多信息,请参阅stackoverflow上的此答案:https://stackoverflow.com/a/414029/2238341
答案 1 :(得分:1)
R.string.warningButton
只是R.java文件中的int。要获取关联的字符串,请使用以下行:
builder.setPositiveButton(getString(R.string.warningButton), new warningContinue() );
正如其他提到的,不要使用android.R.string.continue,因为它在系统中不存在。
答案 2 :(得分:0)
尝试,首先转到res / values / strings.xml并按如下所示声明您的字符串
<string name="checkNetwork">your String...</string>
然后您可以按照以下说明进行操作
R.string.checkNetwork
就像这样一个人,要开心....