2

ボタンの複数の edittext、onclick に設定されたテキスト値が必要です。編集テキストは動的に生成され、特定の各編集テキストの値が必要です。そのテキストの値を文字列配列に格納します。これがコードです。

if (type.equalsIgnoreCase("Edittext")) {
                Question = cursor1.getString(cursor1
                        .getColumnIndex(AndroidOpenDbHelper.QUESTIONS));
                String ID = cursor1.getString(cursor1
                        .getColumnIndex(AndroidOpenDbHelper.ID));
                // ll_layout1 = (LinearLayout)
                // findViewById(R.id.linearlayout1);
                tv_edittext = new TextView(this);
                tv_edittext.setTextSize(20.0f);
                tv_edittext.setText(Question);
                ll_layout1.addView(tv_edittext);
                et = new EditText(this);
                et.setOnClickListener(this);
                et.setId(EDITTEXT);
                et.setMinLines(1);
                et.setMaxLines(3);
                // editTextList.add(et);
                ll_layout1.addView(et);
                // editTextList.add(et);

                typelist.add(Question);

            }

このコードはTextを生成し、edittextを開始する方法は...?ありがとうございます。

4

1 に答える 1

0

に変更します

tv_edittext = new MyTextView(this);

MyTextView は次のとおりです。

public class MyTextView extends TextView{

    public SampleEditText(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
        this.addTextChangedListener(new MyTextWatcher());
    }

    public SampleEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
        this.addTextChangedListener(new MyTextWatcher());
    }

    public SampleEditText(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        this.addTextChangedListener(new MyTextWatcher());
    }

}

次のように textwatcher を使用します。

public class MyTextWatcher implements TextWatcher {

}

動的に作成するテキストビューの数に関係なく、ウォッチャーが作成され、テキストウォッチャーのonTextChangedメソッドで入力されているテキストを取得できます。

于 2014-02-24T12:48:46.847 に答える