当前位置: 首页 > 知识库问答 >
问题:

如何通过另一个活动更改一个活动的TextView字体大小?

章锦
2023-03-14

所以我有两个活动,在第二个活动中有一个编辑文本和一个按钮。当你在编辑文本中输入一些数字时,当你按下按钮时,它应该会根据你输入的数字更改第一个活动中所有文本视图的字体大小。我以某种方式做了,但我的导师说不应该像我这样做。你能帮我换一种方法吗?可能比这更简单。我会发布代码。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        Switch buttonChangeColors = findViewById(R.id.buttonChangeColors);
        Button buttonToGoBackToMainActivity = findViewById(R.id.buttonToGoBackToMainActivity);
        Button buttonChangeFontSizeOfCalculator = findViewById(R.id.buttonChangeFontSizeOfCalculator);
        editTextInsertSize = findViewById(R.id.editTextInsertSize);
buttonChangeFontSizeOfCalculator.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                float fontSize = Float.parseFloat(editTextInsertSize.getText().toString());

                textViewNumberZero = MainActivity.mainActivity.findViewById(R.id.textViewNumberZero);
                textViewNumberOne = MainActivity.mainActivity.findViewById(R.id.textViewNumberOne);
                textViewNumberTwo = MainActivity.mainActivity.findViewById(R.id.textViewNumberTwo);
                textViewNumberThree = MainActivity.mainActivity.findViewById(R.id.textViewNumberThree);
                textViewNumberFour = MainActivity.mainActivity.findViewById(R.id.textViewNumberFour);
                textViewNumberFive = MainActivity.mainActivity.findViewById(R.id.textViewNumberFive);
                textViewNumberSix = MainActivity.mainActivity.findViewById(R.id.textViewNumberSix);
                textViewNumberSeven = MainActivity.mainActivity.findViewById(R.id.textViewNumberSeven);
                textViewNumberEight = MainActivity.mainActivity.findViewById(R.id.textViewNumberEight);
                textViewNumberNine = MainActivity.mainActivity.findViewById(R.id.textViewNumberNine);

                textViewOperationEquals = MainActivity.mainActivity.findViewById(R.id.textViewOperationEquals);
                textViewOperationAdd = MainActivity.mainActivity.findViewById(R.id.textViewOperationAdd);
                textViewOperationSubtract = MainActivity.mainActivity.findViewById(R.id.textViewOperationSubtract);
                textViewOperationMultiply = MainActivity.mainActivity.findViewById(R.id.textViewOperationMultiply);
                textViewOperationDivide = MainActivity.mainActivity.findViewById(R.id.textViewOperationDivide);
                textViewOperationClear = MainActivity.mainActivity.findViewById(R.id.textViewOperationClear);
                textViewOperationClearAll = MainActivity.mainActivity.findViewById(R.id.textViewOperationClearAll);

                textViewNumberZero.setTextSize(fontSize);
                textViewNumberOne.setTextSize(fontSize);
                textViewNumberTwo.setTextSize(fontSize);
                textViewNumberThree.setTextSize(fontSize);
                textViewNumberFour.setTextSize(fontSize);
                textViewNumberFive.setTextSize(fontSize);
                textViewNumberSix.setTextSize(fontSize);
                textViewNumberSeven.setTextSize(fontSize);
                textViewNumberEight.setTextSize(fontSize);
                textViewNumberNine.setTextSize(fontSize);

                textViewOperationAdd.setTextSize(fontSize);
                textViewOperationSubtract.setTextSize(fontSize);
                textViewOperationMultiply.setTextSize(fontSize);
                textViewOperationDivide.setTextSize(fontSize);
                textViewOperationEquals.setTextSize(fontSize);

                textViewOperationClear.setTextSize(fontSize);
                textViewOperationClearAll.setTextSize(fontSize);
            }
        });
    }

共有1个答案

牛景同
2023-03-14

您可以考虑一个简单的想法:

  • 创建一个中间件来侦听来自activity2的事件并通知activity1

你们也可以阅读应用程序架构指南来阐明如何做到这一点。

 类似资料:
  • 我在活动2中有一个字符串 我想在activity1的文本字段中插入此字符串。我该怎么做?

  • 我试图通过按cardview开始另一项活动,cardview有一个朋友查找id。但是当我写回家时。java它给了我setOnClickListener中的问题。在homeActivity中,它告诉我无法解析“homeActivity”中的方法“homeActivity”。因为

  • 在SO上也有类似的问题,但没有一个对我有效。 我想在Activity1中获取被点击的图像并在Activity2中显示它。 我获取被点击图像的图像id如下所示: 并通过意图传递给另一个活动。 任何帮助都很感激。

  • 我有两个 列表 详细 列表显示项目列表,单击列表中的项目时显示详细信息。在中,我们观察从数据库获取提要的情况,一旦我们这样做了,我们就更新了用户界面。 列表页 现在我们有了一个页面,该页面更新了提要(项目),并且已经完成,但是更改没有反映在中。 详细信息页面 提要视图模型 为了简单起见,已经抽象了一些代码。如果需要,我可以添加它们来跟踪问题

  • 我想把意图转移到Xamarin.Android中的另一个活动。基本上,我需要Intent.data和Intent.clipdata到另一个活动,所以我使用下面的代码来传输Intent,但我不知道检索它的正确方法。 下面是Main Activity中的代码 在第二活动中 如何在第二个活动中检索意图?

  • 我试图将图像从一个活动发送到另一个活动,但我不知道如何设置ImageView。