这让我疯了,我无法在任何地方找到答案。一个非常简单的微调器对话框,但是setMessage不起作用,它是空白的!
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();
}
结果如下:
空白,没有......无论是模拟器还是设备都没关系...任何想法为什么?感谢您的帮助。
答案 0 :(得分:1)
以下是我在我的应用中使用的代码。它运作良好 - 一个带有消息的微调器。您展示的内容与此之间的主要区别是:1)我正在使用DialogFragment; 2)我不调用setProgressStyle。不确定哪些(如果有的话)这些问题,但这段代码肯定对我有用。
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;
}
}
答案 1 :(得分:1)
我已经测试了您的代码并看到了#34;正在加载"字符串显示得很好。 看到你的截图有文本视图的空间,我认为这将是文本颜色或主题的问题。
如果setMessage有效,您可以在"转储视图层次结构中检测UI Automator" Eclipse中的设备选项卡工具,如下面的屏幕截图。