Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java代码中动态创建Android UI_Java_Android_Android Layout_Android Ui - Fatal编程技术网

在java代码中动态创建Android UI

在java代码中动态创建Android UI,java,android,android-layout,android-ui,Java,Android,Android Layout,Android Ui,场景是活动A在退出后从活动B接收输入,处理数据并使用给定ID更新布局C,相应地更新活动A中的relativelayout 这就是我的方法: 在触发函数中,创建一个新的RelativeLayout 使用适当的属性更新RelativeLayout,并向其添加视图按钮和文本视图 使用findR.ID.layout\u C\u ID检索布局C 我卡住了 问题: 我如何从这里继续 RelativeLayoutContext是构造函数。我应该传什么 我曾考虑过使用updateViewLayoutView视图

场景是活动A在退出后从活动B接收输入,处理数据并使用给定ID更新布局C,相应地更新活动A中的relativelayout

这就是我的方法:

在触发函数中,创建一个新的RelativeLayout 使用适当的属性更新RelativeLayout,并向其添加视图按钮和文本视图 使用findR.ID.layout\u C\u ID检索布局C 我卡住了 问题:

我如何从这里继续

RelativeLayoutContext是构造函数。我应该传什么

我曾考虑过使用updateViewLayoutView视图、ViewGroup.LayoutParams-params,但它似乎不起作用


我认为你没有抓住要点:-当你想更新一个已经存在的布局时,你不应该膨胀一个新的布局。取而代之的是,获取要更新的视图并将数据放入其中。像这样:

TextView t = myLayout.findViewById(R.id.someTextViewId);
t.setText(newlyObtainedData);

至于上下文,每个活动都会在它之后继承,因此您可以简单地传递它。

没有理解您的意思。你到底想更新什么?给我们举个例子。顺便说一下,您需要在RelativeLayoutContext上下文中传递此活动上下文。我试图在一个活动中更新至少2个布局。例如,活动中有3个布局。接收并处理输入后,布局2和3被隐藏,布局1的某些属性被更新,其中一个是一个按钮,可以使布局2和3再次可见。我不认为每次添加新视图都是最佳的。您可以使用setVisibility隐藏布局按钮,并更新布局1中的视图。e、 g.对于textView.setText或imageView.setImageResource。谢谢!这正是我在读了下面的评论后现在想到的。最后一个问题是,在本例中,我应该如何设置可绘制资源a theme.xml的ID。我的理解是,我需要ID才能传入SetBackgroundResourceResids,将图像放在res文件夹下名为resid的drawable文件夹中。ImageView ImageView=ImageView findViewByIdR.id.imageViewId;imageView.setBackgroundResourceR.drawable.resid;非常感谢。这对我来说现在更有意义了。没有借口,但我只是从一场黑客竞赛中被介绍到安卓系统,所以我还处在起步阶段。没问题。基本上,在安卓系统中,您可以对已经创建的视图进行操作,如上所述。最好将它们作为字段保存在活动中,仅在onCreate中调用findViewById。此外,如果答案对您有帮助,请将其标记为正确。谢谢-