视图容器动态创建的局部变量型控件,怎在其他方法读写属性?
通过在 通知_被创建 事件方法里,添加了两个局部变量型的组件 按钮1、编辑框1 ,并使用添加成员、添加子组件的方式添加到了视图容器1。现在想实现按下 按钮1 时,信息框能提示 编辑框1.内容。
但是按钮1 和 编辑框1是 通知_被创建 事件的局部变量型组件,在其它方法里无法调用。
通过 挂接事件和传递标记值的方法,实现了按钮1的事件反馈.
但是编辑框1就没办法了.无法实现按下按钮1的时候,取编辑框1.内容的值.使用 查找子组件的方式能定位到编辑框1 ,但是取不到内容.
具体代码如下:
雨纷飞 发表于 2018-10-29 01:29
我试过了,把这些局部变量改为成员变量后,编译不出错,但执行时报错,具体报错信息为:
错误: java.lang.Clas ...
我也没弄过这个视图组件,所以不是很懂,但是我昨天晚上弄了一会,定义成类成员变量是没问题的啊。不行的话你加我QQ把,这样我能即时回复你。加我的时候写上你论坛这个名称。 你可以尝试在按钮事件下建一个局部变量“编辑框”--参考,然后视图容器1.寻找子组件给这个编辑框,一定要转换下,然后再操作这个编辑框,就等于操作视图容器里的编辑框 谢谢@SilverS教会我要先强转一下窗口组件类到编辑框类!
谢谢@niulin1教会我参考的用法和需要强转一下!
非常感谢!!!
本帖最后由 雨纷飞 于 2018-10-28 16:57 编辑
有朋友告诉我,只需要把局部变量类型的按钮1 编辑框1 布局器1等,改成成员变量类型,不就可以跨方法来访问了吗?
我试过了,把这些局部变量改为成员变量后,编译不出错,但执行时报错,具体报错信息为:
错误: java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
有朋友说要布局列表参考.但布局列表已经设置为参考了,仍旧报错.
还有朋友说研究官方自带例程,但是官方自带例程"仿微信界面",子夹里面一个控件都没添加,自然没有怎么访问这些子夹控件的相关例句.
学火山开发4天,这个问题卡了我3天了.虽然可以变通的用布局可视、多窗口、滚动页面位置等方式伪造选择夹的效果,但是疑问不解决就一直存在,永远学不会怎么解决这类问题啊。
================
新的尝试:
尝试将原来局部变量的组件,放在新类里 作为成员变量类型,并在类里添加到视图容器1,失败。
需要将这些组件设置为静态才可以在其它类和方法里调用。
设置后编译,报错。报错提示:
错误: 类"窗口组件"或者其基础类指定了不允许定义其静态或静态参考对象变量
本帖最后由 SilverS 于 2018-10-29 00:21 编辑
为什么一定要定义成为局部成员变量呢?,正确的方法是定义成类的成员变量啊。 SilverS 发表于 2018-10-28 22:22
为什么一定要定义成为局部成员变量呢?,正确的方法是定义成类的成员变量啊。 ...
我试过了,把这些局部变量改为成员变量后,编译不出错,但执行时报错,具体报错信息为:
错误: java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams SilverS 发表于 2018-10-29 10:33
我也没弄过这个视图组件,所以不是很懂,但是我昨天晚上弄了一会,定义成类成员变量是没问题的啊。不行的 ...
你好,要麻烦你了,我的QQ是411311900,请问你的QQ是? 雨纷飞 发表于 2018-10-29 11:07
你好,要麻烦你了,我的QQ是411311900,请问你的QQ是?
看我这脑子,没事我已经加你了.
今天这也要用到取动态组件的值,请教群内大神解决了,附上截图。
页:
[1]
2