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。
您可能希望在单独的for循环中执行此操作 要获取在每个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+
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));
}