android编辑文本自定义

时间:2013-11-11 18:28:13

标签: android android-edittext

for (int i = 0; i < sub.length; i++) {
    tr[i] = new TableRow(this);
    EditText et = new EditText(this);
    et.setText(message2);
    tr[i].addView(et);
    EditText et1 = new EditText(this);
    et1.setText(sub[i]);
    tr[i].addView(et1);
    EditText et2 = new EditText(this);
    et2.setText(cde[i]);
    tr[i].addView(et2);
    EditText et3 = new EditText(this);
    et3.setText(crd[i]);
    tr[i].addView(et3);
    ll.addView(tr[i]);
}

这是我连续创建四个编辑文本组件的代码。 我需要为所有edittext组件提供相同的文本参数。但是单独使用所有四个edittext组件的方法会使代码过于冗长。

是否有任何解决方案,以便我只能使用一种方法为所有edittext组件设置文本参数?

2 个答案:

答案 0 :(得分:0)

尝试在XML文件中创建组件,这些组件将用作愿景,活动或XML集中您需要设置的唯一文本...如果您需要utilzar一个表,请使用XML中的listView并放入listView

中的所有EditText

答案 1 :(得分:0)

在将EditText添加到TableRow时使用方法可以让您的代码更易于阅读。

private void addEditTextToTableRow(TableRow tableRow, String text) {
    EditText editText = new EditText(this);
    editText.setText(text);
    tableRow.addView(editText);
}

你的for循环然后变成:

for (int i = 0; i < sub.length; i++) {
    TableRow tr[i] = new TableRow(this);            
    addEditTextToTableRow(tr[i], message2);
    addEditTextToTableRow(tr[i], sub[i]);
    addEditTextToTableRow(tr[i], cde[i]);
    addEditTextToTableRow(tr[i], crd[i]);

    ll.addView(tr[i]);
}