gpt4 book ai didi

来自字符串资源的 Android ProgressDialog setMessage

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:10 26 4
gpt4 key购买 nike

我有这个代码

    public void serviceUnavailable() {
runOnUiThread(new Runnable() {
@Override
public void run() {

progressBar = new ProgressDialog(context);
progressBar.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
atsSocketManager.disconnect();
progressBar.dismiss();
}
return false;
}
});
progressBar.setCancelable(false);
progressBar.setTitle(R.string.ats_title_wait);
progressBar.setMessage(R.string.ats_unavailable_service);
progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressBar.show();
}
});
}

但是如果我这样设置,我在设置消息的地方会出现错误

progressBar.setMessage(R.string.ats_unavailable_service);

错误是这样的

error: no suitable method found for setMessage(int) method ProgressDialog.setMessage(CharSequence) is not applicable (actual argument int cannot be converted to CharSequence by method invocation conversion) method AlertDialog.setMessage(CharSequence) is not applicable (actual argument int cannot be converted to CharSequence by method invocation conversion)

我设置标题的地方几乎相同并且有效

progressBar.setTitle(R.string.ats_title_wait);

如果我将文本放在逗号之间是可行的,但我想了解为什么这种方式不起作用

progressBar.setMessage("Service unavailable");

谢谢

最佳答案

是的,因为 setMessage() 不是为了将资源字符串作为 int 而设计的。

您必须从资源 int 中获取字符串,并使用应用程序上下文的 getResource().getString() 方法将其应用于 setMessage()

喜欢,

progressBar.setMessage(context.getResources().getString(R.string.ats_unavailable_service));

关于来自字符串资源的 Android ProgressDialog setMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28836280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com