java - 如何在 Android 中以编程方式将图标设置为警报对话框
问题描述
Em 使用这些语句创建警报对话框并为其设置图标,
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(this.getDrawable(R.drawable.video_downloader));
builder.setTitle("Congratulations !!!");
builder.show();
但它在 setIcon 崩溃,当我签入可绘制文件夹时,video_downloader 图标已经存在。
AndroidRuntime: FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3607)
at android.view.View.performClick(View.java:4212)
at android.view.View$PerformClick.run(View.java:17476)
at android.os.Handler.handleCallback(Handler.java:800)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at android.view.View$1.onClick(View.java:3602)
at android.view.View.performClick(View.java:4212)
at android.view.View$PerformClick.run(View.java:17476)
at android.os.Handler.handleCallback(Handler.java:800)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: **java.lang.NoSuchMethodError**: numan.downloader.Test.Front.getDrawable
at numan.downloader.Test.Front.GetMedia(Front.java:115)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at android.view.View$1.onClick(View.java:3602)
at android.view.View.performClick(View.java:4212)
at android.view.View$PerformClick.run(View.java:17476)
at android.os.Handler.handleCallback(Handler.java:800)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
07-31 08:35:51.291 500-519/? E/AppErrorDialog: 获取 ILowStorageHandle 实例失败
解决方案
尝试这个,
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(getResources().getDrawable(R.drawable.video_downloader));
builder.setTitle("Congratulations !!!");
builder.show();
推荐阅读
- javascript - 盈透证券 API - Javascript 期权价格
- java - 使用 glRotatef() 时的 OpenGL 坐标问题
- php - array_filter($_POST) - 排除一些表单字段
- javascript - 如何将 JSON 放入 JavaScript 对象数组?
- r - 在 R 中绘制二进制列总和,然后用分类变量的比率覆盖这些列
- python - 问题 ModuleNotFoundError:没有名为“torch._C”的模块
- docker - 在 docker 容器中进行 dotnet 还原期间出现错误
- javascript - “Firefox:当前不支持事件页面”的解决方法。
- excel - Excel VBA 公式名称管理器自动更新源数据
- python - 我们如何用python中的平均值替换数据集中的空单元格