雨纷飞 发表于 2018-10-28 16:33:35

视图容器动态创建的局部变量型控件,怎在其他方法读写属性?

通过在 通知_被创建 事件方法里,添加了两个局部变量型的组件 按钮1、编辑框1 ,并使用添加成员、添加子组件的方式添加到了视图容器1。
现在想实现按下 按钮1 时,信息框能提示 编辑框1.内容。

但是按钮1 和 编辑框1是 通知_被创建 事件的局部变量型组件,在其它方法里无法调用。
通过 挂接事件和传递标记值的方法,实现了按钮1的事件反馈.

但是编辑框1就没办法了.无法实现按下按钮1的时候,取编辑框1.内容的值.使用 查找子组件的方式能定位到编辑框1 ,但是取不到内容.
具体代码如下:


SilverS 发表于 2018-10-29 10:33:55

雨纷飞 发表于 2018-10-29 01:29
我试过了,把这些局部变量改为成员变量后,编译不出错,但执行时报错,具体报错信息为:
错误: java.lang.Clas ...

我也没弄过这个视图组件,所以不是很懂,但是我昨天晚上弄了一会,定义成类成员变量是没问题的啊。不行的话你加我QQ把,这样我能即时回复你。加我的时候写上你论坛这个名称。

niulin1 发表于 2018-10-29 12:58:06

你可以尝试在按钮事件下建一个局部变量“编辑框”--参考,然后视图容器1.寻找子组件给这个编辑框,一定要转换下,然后再操作这个编辑框,就等于操作视图容器里的编辑框

雨纷飞 发表于 2018-10-29 14:03:44

谢谢@SilverS教会我要先强转一下窗口组件类到编辑框类!
谢谢@niulin1教会我参考的用法和需要强转一下!

非常感谢!!!




雨纷飞 发表于 2018-10-28 16:36:12

本帖最后由 雨纷飞 于 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-28 22:22:36

本帖最后由 SilverS 于 2018-10-29 00:21 编辑

为什么一定要定义成为局部成员变量呢?,正确的方法是定义成类的成员变量啊。

雨纷飞 发表于 2018-10-29 01:29:01

SilverS 发表于 2018-10-28 22:22
为什么一定要定义成为局部成员变量呢?,正确的方法是定义成类的成员变量啊。 ...

我试过了,把这些局部变量改为成员变量后,编译不出错,但执行时报错,具体报错信息为:
错误: java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

雨纷飞 发表于 2018-10-29 11:07:46

SilverS 发表于 2018-10-29 10:33
我也没弄过这个视图组件,所以不是很懂,但是我昨天晚上弄了一会,定义成类成员变量是没问题的啊。不行的 ...

你好,要麻烦你了,我的QQ是411311900,请问你的QQ是?

SilverS 发表于 2018-10-29 11:12:38

雨纷飞 发表于 2018-10-29 11:07
你好,要麻烦你了,我的QQ是411311900,请问你的QQ是?


看我这脑子,没事我已经加你了.

爆发 发表于 2018-10-29 20:09:46


今天这也要用到取动态组件的值,请教群内大神解决了,附上截图。

页: [1] 2
查看完整版本: 视图容器动态创建的局部变量型控件,怎在其他方法读写属性?