Android 我想为动态生成的EditText实现textwatcher,并希望在这些EditText中获取文本 受保护的void updateTable(){ //TODO自动生成的方法存根 最终TableLayout tl=(TableLayout)findViewById(R.id.settingtable); tl.删除所有视图(); 对于(int i=0;i hai,2->bye,如下所示。TextWatcher是否适用于此上下文?我希望从EditText获取数据,并将数据保存在数据库中,并参考TextView。

Android 我想为动态生成的EditText实现textwatcher,并希望在这些EditText中获取文本 受保护的void updateTable(){ //TODO自动生成的方法存根 最终TableLayout tl=(TableLayout)findViewById(R.id.settingtable); tl.删除所有视图(); 对于(int i=0;i hai,2->bye,如下所示。TextWatcher是否适用于此上下文?我希望从EditText获取数据,并将数据保存在数据库中,并参考TextView。,android,android-edittext,textwatcher,Android,Android Edittext,Textwatcher,您可能希望在单独的for循环中执行此操作 要获取在每个EditText中输入的文本,您需要以下内容: 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+

您可能希望在单独的for循环中执行此操作

要获取在每个
EditText
中输入的文本,您需要以下内容:

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);
    }

}

也许有人可以补充我的答案。

忘了在每次动态创建EditText时为您澄清这一点,它将具有不同的内存引用。帮助您为创建的每个EditText创建不同的
pondedit.addTextChangedListener(new TextWatcher()…);
ArrayList<String> textFromEditText = new ArrayList<>();

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

     //other code of your textView


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

}