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就不行呢?
展开
 我来答
aliouswang
2012-02-06 · TA获得超过218个赞
知道答主
回答量:60
采纳率:0%
帮助的人:57.9万
展开全部
R.String.XXX,这个获取的是你的字符串资源的ID号,明显是一个int, 你要想得到字符串的话,用getResources().getString(R.string.XXX);恩,就是这样。
追问
嗯,但是用这些函数,其他的都满足,只有alertMsg不满足!运行不下去。。说是超出了索引!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
机器智能技术
2012-02-05 · TA获得超过166个赞
知道答主
回答量:79
采纳率:0%
帮助的人:24.2万
展开全部
能把你当时的string,xml贴上来?
从你贴出来的信息暂时无法定位问题啊~
追问

Hello World, LayoutTestActivity!
LayoutTest
getString实现
提示
输入错误?
输入错误?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式