如何编辑类中动态添加的按钮而不是主要活动

时间:2021-02-18 18:16:15

标签: java android

我正在学习在 android 中编程以将我的 java 应用程序传输到我的手机,但我遇到了一个非常基本的问题,我找不到答案。 我正在动态添加按钮并在按下它们时更改颜色。当我在主要活动中这样做时,这很好用,但是当我尝试通过创建单独的类来清理我的代码时,它会中断。 下面提供了代码。 这是我在这里的第一个问题,所以我可能会提前抱歉弄乱了格式。

主要活动

 public void test(View view) {
    View v = getLayoutInflater().inflate(R.layout.newwindow, null);
    ViewGroup insertPoint = (ViewGroup) findViewById(R.id.testlayout8);
    insertPoint.addView(v, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
}

public void multbut(View view) {
    view.setBackgroundColor(11111);
}

新的 Java 类扩展了主要活动

public void multbut2(View view) {
    view.setBackgroundColor(11111);
}

1 个答案:

答案 0 :(得分:0)

您不能将视图传递给除 MainActivity 之外的其他类。 Java 对非原始对象使用“按值传递”,但您应该对添加到容器(屏幕)的视图的同一引用进行更改。

当您传递视图时,java 将在新类中复制它们,这就是您的问题的原因