1

私のアプリでは、一連の editText を動的に作成します。動的に作成された editText に値を設定するにはどうすればよいでしょうか。editText を作成し、この editText をリストに追加します

editText を作成するためのコードを以下に示します。

LinearLayout layout = new LinearLayout(context);
    layout.setId(expRow2);
    layout.setOrientation(LinearLayout.HORIZONTAL);
    layout.setGravity(Gravity.CENTER);
    for(int i=1;i<=4;i++)
    {
        EditText editText = new EditText(context);
        editText.setHint(exp_EditTextName[i]);
        editText.setId(expRow+i);
        editText.setEms(10);
        editText.setLayoutParams(margins);
        layout.addView(editText);
        expEditTextList.add(editText);
    }

そして、コードの他の部分で editText に setValues を設定する必要があります

final LinearLayout exp = new LinearLayout(context);
        exp.setOrientation(LinearLayout.VERTICAL);
        exp.setBackgroundColor(Color.GRAY);
        exp.setDescendantFocusability(LinearLayout.FOCUS_AFTER_DESCENDANTS);
        Button expAdd = new Button(context);
        expAdd.setId(123);
        expAdd.setBackgroundResource(R.drawable.small_add);
        expAdd.setLayoutParams(marginLeftElement);
        exp.addView(expAdd);
        exp.addView(layout);
EditText edittext  = (EditText)expEditTextList.get(0);
edittext.setText("hai");

しかし、editTextに値を設定することはできません。

4

1 に答える 1

0

このようにしてみてください。

final EditText text1 = (EditText) findViewById(R.id.text1);
final EditText text2 = (EditText) findViewById(R.id.text2);
final EditText text3 = (EditText) findViewById(R.id.text3);

text2.addTextChangedListener(new TextWatcher() {
    void afterTextChanged(Editable s) {
        text3.setText(text1.getText().toString() + text2.getText().toString());
    };
});

詳細については、リンクを試してください

Androidで動的に作成されたedittextにテキストを設定しますか?

于 2013-01-21T05:10:54.593 に答える