2

ボタンをクリックするたびに、コードを使用して新しい TextView と新しい EditText を作成しています。TextView と EditText が作成されますが、問題は、新しい EditText にフォーカスすると、以前のものにフォーカスを取り戻すことができないことです。ユーザーが間違った情報を入力した可能性があるため、その EditText へのアクセスを取り戻す必要があります。

私が使用したコードを示します。

public void anadir(View view){
    TextView nuevoTexto = new TextView(this);
    EditText nuevoEdito = new EditText(this);

    nuevoTexto.setText("Dirección correo nº"+contador);
    nuevoTexto.setTextSize(15);
    nuevoTexto.setPadding(margenIzquierdoTexto, margenArribaTexto, 0, 0);

    nuevoEdito.setEms(10);
    nuevoEdito.setInputType(InputType.TYPE_CLASS_TEXT);
    nuevoEdito.setImeOptions(EditorInfo.IME_ACTION_NEXT);
    nuevoEdito.setFocusable(true);
    nuevoEdito.setPadding(margenIzquierdoEdito, margenArribaEdito, 0, 0);

    padreTexto.addView(nuevoTexto);
    padreEdito.addView(nuevoEdito);
    textos.add(nuevoTexto);
    editos.add(nuevoEdito);
    contador++;
    margenArribaTexto += 40;
    margenArribaEdito += 40;
}

次のオプションを使用してそのアクセスを回復しましたが、機能しません。

nuevoEdito.setFocusable(true);
nuevoEdito.setFocusableInTouchMode(true);
nuevoEdito.setClickable(true);
4

1 に答える 1

0

試す:

nuevoEdito.requestFocus();
于 2012-10-20T11:10:03.437 に答える