[已解决]如何在Cocos2dx中修改加载CocoStudio的TextField内容

求教! 用CocoStudio建的自带的DemoLogin的UI, 加截到项目中之后, 修改不了其中的Text的内容, 代码用的也是示例中的代码, 不过加了一点点, 如下:

m_pUILayer = Layer::create();
m_pUILayer->scheduleUpdate();
addChild(m_pUILayer);

// register root from json
m_pLayout = dynamic_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile(“DemoLogin\DemoLogin.ExportJson”));
m_pUILayer->addChild(m_pLayout);

_displayValueLabel = static_cast<Text*>(Helper::seekWidgetByName(m_pLayout, “name_TextField”));
if(_displayValueLabel)
_displayValueLabel->setText(“te”);

运行到最后一行的时候报错, 错误提示如下0x00F1CDDD 处有未经处理的异常(在 Test.exe 中): 0xC0000005: 读取位置 0x00000277 时发生访问冲突。

我的Cocos2dx是3.0正式版. Studio是1.3.0.1.

我看了cpp-test示例代码, 不是这么写的, 是直接Text::create(), 所以setText没问题, 就想问一下, 难道加载CocoStudio后, 就不能改文本框的内容吗? 如果能, 应该要怎么写呢?

我在CocoStudio区也问了这个问题, 可惜一个多星期都没人能帮忙解决, 那边的版主给了 "建议不要在加载UI后直接修改UI "(参考http://www.cocoachina.com/bbs/read.php?tid=202222) 这样一个的建议, 呃, 我非常不理解为什么?

如果真的不建议直接修改UI, 那请问大家, 登陆的时候如果有用户登陆过默认加载最后一个登陆名是怎么实现的?

另外我试过lable是可以直接修改的. 请教大神都是怎么做的呀~~

CocoStudio中的Label也无法获得,从而无法修改

— Begin quote from ____

引用第1楼fangzhongzheng于2014-05-26 22:27发表的 :
CocoStudio中的Label也无法获得,从而无法修改 http://www.cocoachina.com/bbs/job.php?action=topost&tid=203480&pid=961233

— End quote

呃, 我试过 Studio 1.4的Label是可以获得的, 也可以修改~

我是来学习的321d

— Begin quote from ____

引用第3楼xixizhou于2014-05-27 11:02发表的 :
我是来学习的321d http://www.cocoachina.com/bbs/job.php?action=topost&tid=203480&pid=961575

— End quote

谢谢帮顶, 希望这个问题有人帮忙能解决, 如果这个帖也沉下去了, 打算就先放着, 以后再说~~

试着再顶一下希望晚上回到家能看到有建设性的回复

是大家都没在用CocoStudio还是我的问题太简单了以致于大家都没回复? 我也是在网上找过的(包括在这里查找), 不过就是没有有用的信息, 大家都不愿意回一下吗?

LZ,你的这里
_displayValueLabel = static_cast<Text*>(Helper::seekWidgetByName(m_pLayout, “name_TextField”));

类型是Text*?

应该是Label*吧。
Widget的子类Label。

— Begin quote from ____

引用第7楼a694797585于2014-05-28 22:18发表的 :
LZ,你的这里
_displayValueLabel = static_cast<Text*>(Helper::seekWidgetByName(m_pLayout, “name_TextField”));

类型是Text*?

http://www.cocoachina.com/bbs/job.php?action=topost&tid=203480&pid=963030

— End quote

呃, 确实是错了, 但也不是label, 我本意是想改文本档的, 正确的应该是TextField, 好了, 结帖~~

感谢帮忙回答~~

我也遇到了这样的问题,加载的ui无法修改内容,Text*和进度条的进度都无法修改,不知道楼主这个问题解决了没有

名字写错了而已
没找到控件
所以displayValueLabel 为null
nul->setText
你们觉得不应该报错么?