Android - 循环以收集所有editText值

时间:2016-08-02 13:25:08

标签: android loops android-edittext findviewbyid

我有大约50个EditText字段,我想使用循环获取它们的值。如下单独获取值可以正常工作:

       for(int x=1; x<50; x++) 
    {
        EditText et[x] = (EditText) findViewById(R.id.text[x]Value);
        String t[x] = et[x].getText().toString();
        String Ref = "text" + x;
        editor.putString(Ref, t[x]);
    }

我已尝试通过以下循环实现此目的但无法使其正常工作。

$pdi->SetFont('CyrillicChancellor','',20);
$txt = "AB русский текст! sśŻ";
$pdi->Write(0,$txt );

3 个答案:

答案 0 :(得分:2)

您可以通过创建textview的id数组并循环遍历数组来尝试此操作。 试试这个:

&#13;
&#13;
module.exports = function (config) {
    config.set({
        browsers: ['Chrome'],
        singleRun: true,
        frameworks: ['browserify', 'mocha'],
        reporters: ['dots'],
        files: ['./*test.js'],
        preprocessors: {
            '*.js': ['browserify']
        },
        logLevel: 'LOG_DEBUG',
        browserify: {
            debug: true,
            transform: [ ['babelify', {presets: ['es2015', "react"]} ] ]
        }
    });
};
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果我假设你在名为ll的布局中拥有所有这些EditTexts(也应该适用于Layout以外的结构,例如ViewGroup等):

ArrayList<String> values = new ArrayList<String>();
for (int i = 0; i < ll.getChildCount(); i++) {
    if (ll.getChildAt(i) instanceof EditText) {
        EditText et = (EditText)ll.getChildAt(i);
        values.add(et.getText().toString());
    }
}

我的Android有点生疏,如果出现问题就道歉,但无论如何应该给你一般的想法

答案 2 :(得分:0)

&#13;
&#13;
int[] ids = new int[]{R.id.text1Value,R.id.text2Value,R.id.text3Value};//and so on

int i =1;
for(int id : ids){
    EditText t = (EditText) findViewById(id);
    String Ref = "text" + i;
    editor.putString(Ref, t.getText().toString());
  i++;
}
&#13;
&#13;
&#13;

private void clearScreen() {
    int[] _ids = null;

    _ids = new int[]{R.id.etIdTAtividade, R.id.etNomeTAtividade, R.id.etNmAtividade};

    for (int i = 0; i < (_ids.length); i++) {
        EditText t = (EditText) findViewById(_ids[i]);
        t.setText("");
    }
}