Android编程,执行AlertDialog遇到“程序意外停止,请重试” 5
问题不在于这个AlertDialog,问题在于AlertDialog.Builder(this).setTitle()和.setMessage()这两个函数,如果里面的参...
问题不在于这个AlertDialog,问题在于AlertDialog.Builder(this).setTitle()和.setMessage()这两个函数,如果里面的参数使用R.string.XX
这样的话就会报错!使用CharSequence 如"提示" 就不会报错!难道是读取资源文件时候有问题?
R.string.XX是一个int,setTitle()函数中确实有(int)的参数
但是其他的控件上使用这个不会有问题!
使用getText(R.string.XX)和getString(R.string.XX)函数一样不好使!
基于Android2.2 sdk
看log
02-04 00:03:50.882: WARN/ResourceType(607): getEntry failing because entryIndex 4 is beyond type entryCount 4
02-04 00:03:50.882: WARN/ResourceType(607): Failure getting entry for 0x7f040004 (t=3 e=4) in package 0: 0x80000001
代码:.setTitle(R.String.alertText).setMessage(R.String.alertMsg).show();
R.String.alertMsg 就是 0x7f040004 (t=3 e=4) ,按照log解释是超出R.String的索引了。。。
可是R.String里确实有5个值,且entryIndex 4应该没有问题的!
使用R.String.alertText就没有问题,使用R.String.alertMsg 就错误了!
求救,求救啊!
R.string.XX是一个int,setTitle()函数中确实有(int)的参数
但是其他的控件上使用这个不会有问题!
使用getText(R.string.XX)和getString(R.string.XX)函数一样不好使!
求救,求救啊!
基于Android2.2 sdk
还有一个问题!就是我又在string.xml里面定义了一个 alertMessage 这是第6个,也就是index应该为5,然后setMessage(R.String.alertMsg)改为setMessage(R.String.alertMessage)之后就好使了!那就为啥index 是 4就不行呢? 展开
这样的话就会报错!使用CharSequence 如"提示" 就不会报错!难道是读取资源文件时候有问题?
R.string.XX是一个int,setTitle()函数中确实有(int)的参数
但是其他的控件上使用这个不会有问题!
使用getText(R.string.XX)和getString(R.string.XX)函数一样不好使!
基于Android2.2 sdk
看log
02-04 00:03:50.882: WARN/ResourceType(607): getEntry failing because entryIndex 4 is beyond type entryCount 4
02-04 00:03:50.882: WARN/ResourceType(607): Failure getting entry for 0x7f040004 (t=3 e=4) in package 0: 0x80000001
代码:.setTitle(R.String.alertText).setMessage(R.String.alertMsg).show();
R.String.alertMsg 就是 0x7f040004 (t=3 e=4) ,按照log解释是超出R.String的索引了。。。
可是R.String里确实有5个值,且entryIndex 4应该没有问题的!
使用R.String.alertText就没有问题,使用R.String.alertMsg 就错误了!
求救,求救啊!
R.string.XX是一个int,setTitle()函数中确实有(int)的参数
但是其他的控件上使用这个不会有问题!
使用getText(R.string.XX)和getString(R.string.XX)函数一样不好使!
求救,求救啊!
基于Android2.2 sdk
还有一个问题!就是我又在string.xml里面定义了一个 alertMessage 这是第6个,也就是index应该为5,然后setMessage(R.String.alertMsg)改为setMessage(R.String.alertMessage)之后就好使了!那就为啥index 是 4就不行呢? 展开
2个回答
展开全部
R.String.XXX,这个获取的是你的字符串资源的ID号,明显是一个int, 你要想得到字符串的话,用getResources().getString(R.string.XXX);恩,就是这样。
追问
嗯,但是用这些函数,其他的都满足,只有alertMsg不满足!运行不下去。。说是超出了索引!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能把你当时的string,xml贴上来?
从你贴出来的信息暂时无法定位问题啊~
从你贴出来的信息暂时无法定位问题啊~
追问
Hello World, LayoutTestActivity!
LayoutTest
getString实现
提示
输入错误?
输入错误?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询