【问题标题】:Android: Display same text output to multiple EditTextAndroid:向多个EditText显示相同的文本输出
【发布时间】:2016-04-25 17:42:11
【问题描述】:

假设我有一个文本输出,例如“这是一个 EditText”(textToUse)。

我想将相同的文本输出显示到不是 1,而是多个 EditText 字段中。

如果我有 3 个 EditText id:edit1、edit2 和 edit3

而不是只使用:

private EditText mEditText;
private String textToUse;

mEditText = (EditText)findViewById(R.id.edit1);
mEditText.setText(textToUse);

它只会将文本输出显示到 EditText "edit1",如何更改代码以使其也显示在 "edit2" 和 "edit3" 上?

我试过了:

mEditText = (EditText)findViewById(R.id.edit1);
mEditText = (EditText)findViewById(R.id.edit2);
mEditText = (EditText)findViewById(R.id.edit3);

mEditText = (EditText)findViewById(R.id.edit1, R.id.edit2, R.id.edit3);

mEditText = (EditText)findViewById(R.id.edit1, edit2, edit3);

但它们都不起作用。 如果这是一个愚蠢的问题,我深表歉意,我刚刚开始 Android 开发。谢谢~

【问题讨论】:

  • 如果您解决了问题,请接受答案。

标签: android xml android-studio android-edittext


【解决方案1】:

您需要在代码中声明三个不同的 EditText,非数组对象只能保存一 (1) 个值。所以:

mEditText = (EditText)findViewById(R.id.edit1);
mEditText = (EditText)findViewById(R.id.edit2);
mEditText = (EditText)findViewById(R.id.edit3);

将简单地覆盖其值。 (在上面的代码中,mEditText 只包含 R.id.edit3)

试试

mEditText1 = (EditText)findViewById(R.id.edit1);
mEditText2 = (EditText)findViewById(R.id.edit2);
mEditText3 = (EditText)findViewById(R.id.edit3);
mEditText1.setText(textToUse);
mEditText2.setText(textToUse);
mEditText3.setText(textToUse);

或者像@Huy Nguyen 在他的回答中所做的那样为您的 EditText 使用一个数组。

【讨论】:

    【解决方案2】:

    如果你有很多EditText,你可以尝试创建一个EditText数组,每个EditText的ID数组。

    例如:

    EditText []et;
    int []idEt = {R.id.et1, R.id.et2, R.id.et3.....};
    

    然后使用循环语句做任何事情.. 例如:

    for(int i=0; i<numberOfEditText; i++){
       et[i] = (EditText)findViewById(idEt[i]);
    }
    

    ....

    for(int i=0; i<numberOfEditText; i++){
       et[i].setText("abcdefghi");
    }
    

    您可以节省多行代码。 希望这有帮助!

    【讨论】:

    • 非常感谢。但我将使用@FrozenFire 答案,因为它更容易实现:)
    • 不客气!但是当你有太多的 EditText 时,我的解决方案是最好的,因为你可以节省很多行代码。您应该尝试这两种解决方案以了解其工作原理。祝你有美好的一天! :)
    猜你喜欢
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 2019-03-12
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    相关资源
    最近更新 更多