首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Android Phonegap插件访问应用程序布局

从Android Phonegap插件访问应用程序布局
EN

Stack Overflow用户
提问于 2013-01-29 19:19:22
回答 2查看 2.7K关注 0票数 3

我目前正在编写一个插件,试图在我的应用程序的当前LinearLayout中添加一个视图。

虽然我正在努力从插件中访问线性布局,但如果我在我的主要活动中这样做,我可以很好地添加视图:

代码语言:javascript
复制
MyView view = new MyView(this);
root.addView(myView);

但是为了在我的插件中获得根LinearLayout,我假设:

代码语言:javascript
复制
this.cordova.getActivity();

是我的主活动,并且一直试图将它转换为我的主活动的类型,并调用我添加的函数,该函数将返回根LinearLayout对象:

代码语言:javascript
复制
MyActivity myAct = (MyActivity)this.cordova.getActivity();

MyView view = new MyView(myAct);
myAct .GetLinearLayout().addView(view);

虽然这似乎不起作用,我没有收到任何错误或类似的帮助找出原因?

有人知道如何访问布局来添加我的视图吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-30 16:40:06

好的,所以我解决这个问题的方法和上面我尝试做的略有不同。

首先强制转换cordova返回的活动:

代码语言:javascript
复制
MyActivity myAct = (MyActivity)this.cordova.getActivity();

并返回主活动的实例,所以这不是问题所在。

最后,我弄不明白为什么从主活动中添加另一个视图到根cordova布局中会起作用,但当我在插件中这样做时就不会了,所以我所做的就是在activity onCreate()中创建我的视图,然后我为我的插件提供了一个视图类的访问器,并从那里开始工作。

票数 1
EN

Stack Overflow用户

发布于 2014-04-18 05:50:50

init()完成后,该布局将不再存在。在init()中发生的最后一件事是使用布局调用setContentView()。当使用布局调用setContentView()时,布局将被放大,布局中的各个视图将添加到活动中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14581686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档