【发布时间】:2015-03-05 08:11:03
【问题描述】:
场景是Activity A在退出后从Activity B接收输入,处理数据并相应地更新Activity A中的布局C(具有给定的ID,relativelayout)。
这是我的方法:
- 在触发函数中,新建一个RelativeLayout
- 使用适当的属性更新RelativeLayout,并向其添加视图(按钮和文本视图)
- 使用 findR.ID.layout_C_id 检索布局 C
- 我卡住了
问题:
我该如何从这里继续?
RelativeLayout(Context context) 是构造函数。我应该传入什么?
想过用updateViewLayout(View view, ViewGroup.LayoutParams params),但是好像不行?
【问题讨论】:
-
没找到你。您到底要更新什么?给我们一个例子。对了,需要在
RelativeLayout(Context context)中传递this(Activity上下文)。 -
我试图在一个活动中更新至少 2 个布局。例如,活动中有 3 个布局。接收并处理输入后,布局 2 和 3 被隐藏,布局 1 的某些属性被更新,其中一个是使布局 2 和 3 再次可见的按钮。
-
我不认为每次都添加新视图在这里是最佳的。您可以做的是使用
setVisibility()隐藏布局按钮并更新布局 1 中的视图。例如对于textView.setText()或imageView.setImageResource()。 -
谢谢!这正是我在阅读下面的评论后现在想到的。最后一个问题是我应该如何为可绘制资源(在本例中为 theme.xml)设置 ID。我的理解是我需要 ID 才能传入 setBackgroundResource(resid)
-
把图片放到
res文件夹下的drawable文件夹中,名称为resid。ImageView imageView = (ImageView) findViewById(R.id.imageViewId); imageView.setBackgroundResource(R.drawable.resid);
标签: java android android-layout android-ui