火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 7471|回复: 10
打印 上一主题 下一主题

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

 关闭 [复制链接]

1

主题

9

帖子

72

积分

注册会员

Rank: 2

积分
72
跳转到指定楼层
楼主
发表于 2018-10-28 16:33:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
通过在 通知_被创建 事件方法里,添加了两个局部变量型的组件 按钮1、编辑框1 ,并使用添加成员、添加子组件的方式添加到了视图容器1。
现在想实现按下 按钮1 时,信息框能提示 编辑框1.内容。

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

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


回复

使用道具 举报

17

主题

119

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
来自 5#
发表于 2018-10-29 10:33:55 | 只看该作者
雨纷飞 发表于 2018-10-29 01:29
我试过了,把这些局部变量改为成员变量后,编译不出错,但执行时报错,具体报错信息为:
错误: java.lang.Clas ...

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

使用道具 举报

26

主题

141

帖子

2727

积分

核心用户

流浪的攻城狮

Rank: 9Rank: 9Rank: 9

积分
2727
来自 8#
发表于 2018-10-29 12:58:06 | 只看该作者
你可以尝试在按钮事件下建一个局部变量“编辑框”--参考,然后视图容器1.寻找子组件给这个编辑框,一定要转换下,然后再操作这个编辑框,就等于操作视图容器里的编辑框
回复

使用道具 举报

1

主题

9

帖子

72

积分

注册会员

Rank: 2

积分
72
来自 9#
 楼主| 发表于 2018-10-29 14:03:44 | 只看该作者
谢谢@SilverS教会我要先强转一下窗口组件类到编辑框类!
谢谢@niulin1教会我参考的用法和需要强转一下!

非常感谢!!!




回复

使用道具 举报

1

主题

9

帖子

72

积分

注册会员

Rank: 2

积分
72
沙发
 楼主| 发表于 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,失败。
需要将这些组件设置为静态才可以在其它类和方法里调用。

设置后编译,报错。报错提示:
错误: 类"窗口组件"或者其基础类指定了不允许定义其静态或静态参考对象变量

回复

使用道具 举报

17

主题

119

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
板凳
发表于 2018-10-28 22:22:36 | 只看该作者
本帖最后由 SilverS 于 2018-10-29 00:21 编辑

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

使用道具 举报

1

主题

9

帖子

72

积分

注册会员

Rank: 2

积分
72
地板
 楼主| 发表于 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
回复

使用道具 举报

1

主题

9

帖子

72

积分

注册会员

Rank: 2

积分
72
6#
 楼主| 发表于 2018-10-29 11:07:46 | 只看该作者
SilverS 发表于 2018-10-29 10:33
我也没弄过这个视图组件,所以不是很懂,但是我昨天晚上弄了一会,定义成类成员变量是没问题的啊。不行的 ...

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

使用道具 举报

17

主题

119

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
7#
发表于 2018-10-29 11:12:38 | 只看该作者
雨纷飞 发表于 2018-10-29 11:07
你好,要麻烦你了,我的QQ是411311900,请问你的QQ是?


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

使用道具 举报

6

主题

83

帖子

1569

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1569
10#
发表于 2018-10-29 20:09:46 | 只看该作者

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-1 21:23 , Processed in 0.100273 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表