在 java 代码中动态创建 Android UI

Creating Android UI dynamically in java code

场景是ActivityA退出后从activityB接收输入,处理数据并相应地更新activityA内的布局C(具有给定ID,relativelayout)。

这是我的方法:

  1. 在触发函数中,创建一个新的 RelativeLayout
  2. 使用适当的属性更新 RelativeLayout,并向其添加视图(按钮和文本视图)
  3. 使用findR.ID.layout_C_id检索布局C
  4. 我卡住了

问题:

  1. 如何从这里继续?

  2. RelativeLayout(Context context) 是构造函数。我应该传递什么?

  3. 想过用updateViewLayout(View view, ViewGroup.LayoutParams params),但是好像不行?

我认为你错过了这里的基本点:-(当你想更新一个已经存在的布局时,你不应该膨胀一个新的。相反,你获取你想要更新的视图并将其中的数据。像这样:

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

至于Context,每个activity都在它之后继承,所以你可以简单地传递this