Android ProgressDialog设置消息为空
这让我发疯,我在任何地方都找不到答案。一个非常简单的微调器对话框,但是setMessage不起作用,它是空的Android ProgressDialog设置消息为空,android,progressdialog,Android,Progressdialog,这让我发疯,我在任何地方都找不到答案。一个非常简单的微调器对话框,但是setMessage不起作用,它是空的 public class MainActivity extends FragmentActivity { ProgressDialog loadingProgress; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc
public class MainActivity extends FragmentActivity {
ProgressDialog loadingProgress;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
loadingProgress = new ProgressDialog(this);
loadingProgress.setIndeterminate(true);
loadingProgress.setMessage("Loading");
loadingProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
}
在AsyncTask中,我只显示ProgressDialog:
protected void onPreExecute() {
super.onPreExecute();
loadingProgress.show();
}
结果是:
空白,没什么。。。不管是模拟器还是设备。。。你知道为什么吗?非常感谢您的帮助。这是我在应用程序中使用的代码。它工作得很好——一个带有消息的旋转器。你所展示的内容与本文的主要区别在于:1)我使用的是DialogFragment;2) 我不认为这是一种风格。不确定这其中哪一个(如果有),但这段代码肯定对我有用
public void showProgressDialog(int stringResId, boolean isCancelable) {
Bundle arguments = new Bundle();
arguments.putString(EXTRA_MESSAGE, getString(stringResId));
arguments.putBoolean(EXTRA_CANCELABLE, isCancelable);
DialogFragment fragment = new ProgressDialogFragment();
fragment.setArguments(arguments);
showDialog(fragment);
}
public static class ProgressDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle arguments = getArguments();
String message = arguments.getString(EXTRA_MESSAGE, null);
boolean isCancelable = arguments.getBoolean(EXTRA_CANCELABLE, true);
ProgressDialog dialog = new ProgressDialog(getActivity());
dialog.setIndeterminate(true);
if (message != null) {
dialog.setMessage(message);
}
dialog.setCancelable(isCancelable);
dialog.setCanceledOnTouchOutside(isCancelable);
return dialog;
}
}
我已经测试了您的代码,看到“加载”字符串显示得非常好。 看到你的截图有文本视图的空间,我想这将是文本颜色或主题的问题 若setMessage起作用,您可以在Eclipse中设备选项卡的“Dump View Hierarchy for UI Automator”工具中进行检测,如下面的屏幕截图所示
是的,是主题。奇怪的是,ProgressDialog和ProgressDialog.STYLE\u水平显示的文本很好,但是ProgressDialog.STYLE\u微调器从主题中选择颜色。想想看。谢谢你的参考:)所以你需要做的是在创建进度日志时声明你的主题。比如:loadingProgress=newprogressdialog(这是ProgressDialog.THEME\u DEVICE\u DEFAULT\u DARK);