0
protected void updateTable() {
    // TODO Auto-generated method stub

    final TableLayout tl = (TableLayout) findViewById(R.id.settingtable);
    tl.removeAllViews();

    for(int i=0; i<10; i++) {


        final TableRow tablerow = new TableRow(this);
        tablerow.setLayoutParams(new LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

        final TextView deviceedit = new TextView(this);

        deviceedit.setText(i+1);
        deviceedit.setTextColor(Color.BLACK);
        deviceedit.setGravity(Gravity.CENTER);
        deviceedit.setTextSize(20);
        deviceedit.setBackgroundResource(R.drawable.lighter_cell_shape);

        tablerow.addView(deviceedit);


        final EditText pondedit = new EditText(this);
        pondedit.setText("");
        pondedit.setTextColor(Color.BLACK);
        pondedit.setGravity(Gravity.CENTER);
        pondedit.setBackgroundResource(R.drawable.lighter_cell_shape);
        tablerow.addView(pondedit);
        pondedit.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub

            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub


            }
        });

        tl.addView(tablerow);
    }

}

当我在生成的编辑文本中输入文本时,如何从编辑文本中获取这些文本并引用这些文本视图,即 1-> hai , 2-> bye 像这样。TextWatcher 对这种情况有用吗?我想从edittexts 中获取数据并参考TextView 将数据保存在数据库中。

4

1 回答 1

0

probably you will want to do this in separated for loops.

and to get the text entered in each EditText you need something like this:

ArrayList<String> textFromEditText = new ArrayList<>();

textFromEditText.add(pondedit.getText().toString());

dont forget to call the .toString(); method since the from EditText you get a Editable type object.

once you have your data ready in the ArrayList just call this in another for loop:

for(i = 0;i < textFromEditText.size();i++){   
     final TextView deviceedit = new TextView(this);

     //other code of your textView


     deviceedit.setText(textFromEditText.get(i));

}

maybe somebody can complement my answer.

于 2013-02-22T01:02:50.407 回答