在 java 代码中动态创建 Android UI
Creating Android UI dynamically in java code
场景是ActivityA退出后从activityB接收输入,处理数据并相应地更新activityA内的布局C(具有给定ID,relativelayout)。
这是我的方法:
- 在触发函数中,创建一个新的 RelativeLayout
- 使用适当的属性更新 RelativeLayout,并向其添加视图(按钮和文本视图)
- 使用findR.ID.layout_C_id检索布局C
- 我卡住了
问题:
如何从这里继续?
RelativeLayout(Context context) 是构造函数。我应该传递什么?
想过用updateViewLayout(View view, ViewGroup.LayoutParams params),但是好像不行?
我认为你错过了这里的基本点:-(当你想更新一个已经存在的布局时,你不应该膨胀一个新的。相反,你获取你想要更新的视图并将其中的数据。像这样:
TextView t = myLayout.findViewById(R.id.someTextViewId);
t.setText(newlyObtainedData);
至于Context,每个activity都在它之后继承,所以你可以简单地传递this
。
场景是ActivityA退出后从activityB接收输入,处理数据并相应地更新activityA内的布局C(具有给定ID,relativelayout)。
这是我的方法:
- 在触发函数中,创建一个新的 RelativeLayout
- 使用适当的属性更新 RelativeLayout,并向其添加视图(按钮和文本视图)
- 使用findR.ID.layout_C_id检索布局C
- 我卡住了
问题:
如何从这里继续?
RelativeLayout(Context context) 是构造函数。我应该传递什么?
想过用updateViewLayout(View view, ViewGroup.LayoutParams params),但是好像不行?
我认为你错过了这里的基本点:-(当你想更新一个已经存在的布局时,你不应该膨胀一个新的。相反,你获取你想要更新的视图并将其中的数据。像这样:
TextView t = myLayout.findViewById(R.id.someTextViewId);
t.setText(newlyObtainedData);
至于Context,每个activity都在它之后继承,所以你可以简单地传递this
。