android
android学习笔记(5)-凯发ag旗舰厅登录网址下载
新建了一个android studio工程,在mainactivity的主界面中添加了两个按钮,点击其中一个按钮用来启动 normalactivity,点击另一按钮用来启动dialogactivity. 其中,normalactivity和dialogactivity都是很简单的界面,只是在androidmanifest.xml中,对dialogactivity添加主题 android:theme="@android:style/theme.dialog, androidmanifest.xml文件如下:
mainactivity的 oncreate()函数如下:
@overrideprotected void oncreate(bundle savedinstancestate) {super.oncreate(savedinstancestate);setcontentview(r.layout.activity_main);button startnormalactivity=(button)findviewbyid(r.id.start_normal_activity);button startdialogactivity=(button)findviewbyid(r.id.start_dialog_activity);startnormalactivity.setonclicklistener(new view.onclicklistener(){@overridepublic void onclick(view view) {intent intent=new intent(mainactivity.this ,normalactivity.class);startactivity(intent);}});startdialogactivity.setonclicklistener(new view.onclicklistener() {@overridepublic void onclick(view view) {intent intent=new intent(mainactivity.this,dialogactivity.class);startactivity(intent);}});}dialogactivity 定义如下:
public class dialogactivity extends appcompatactivity {@overrideprotected void oncreate(bundle savedinstancestate) {super.oncreate(savedinstancestate);setcontentview(r.layout.activity_dialog);} }程序主界面如下:
当单击 'start dialogactivity' 按钮时,程序便停止运行了。百思不得其解,后来终于在网上别人的回答中找到了灵感:
解决方法1
将dialogactivity的super class改成 activity 即可。
解决方法2
将androidmanifest.xml中 .dialogactivity 的theme改成如下样式:
由于在较新版本的android studio中,默认的activity的super class 基本都是 appcompatactivity,所以建议保留默认生成的 super class,采用方法2来解决程序崩溃的问题。
转载于:https://www.cnblogs.com/dongling/p/6476308.html
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的android学习笔记(5)----启动 theme.dialog 主题的activity时程序崩溃的解决办法的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇: 支持windows 7的cad—auto
- 下一篇: