Как узнать, был ли создан EditText? - PullRequest
0 голосов
/ 18 февраля 2012

В макете диалога я создаю второй EditText программно в зависимости от выбора пользователя. Когда я хочу вернуть входные данные, мне нужно знать, был ли создан второй EditText или нет. И я не понимаю, как сделать эту проверку. Мое утверждение if (edittextTwo! = Null) всегда равно нулю, даже когда второй EditText был отображен и введен текст.

Вот методы, которые создают второй EditText и возвращают свои входные данные:

if (edittextTwo! = Null)

private void displayASecondEdittext(String title) {
    ViewGroup layout = (ViewGroup) findViewById(R.id.layout_editdialog);
    TextView titleTwo = new TextView(this);
    titleTwo.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    titleTwo.setText(title);
    layout.addView(titleTwo);

    EditText edittextTwo = new EditText(this);
    edittextTwo.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    layout.addView(edittextTwo);
}//END displayASecondInputfield


private void returnResult() {
    Intent resultIntent = new Intent(this, EditDialog.class);
    resultIntent.putExtra(EDITONE, edittextOne.getText().toString());
    if (edittextTwo != null) {
        resultIntent.putExtra(EDITTWO, edittextTwo.getText().toString());
        Log.v(TAG, "edittextTwo ="+edittextTwo.getText().toString());
    }
    setResult(Activity.RESULT_OK, resultIntent);
    finish();
}//END returnResult 

Ответы [ 2 ]

1 голос
/ 18 февраля 2012

переместить EditText edittextTwo; вне вашего метода.поместите это здесь:

public class myActivity extends Activity
    EditText edittextTwo = null;

И затем, в вашем DisplayASecondEditText(), сделайте это вместо того, что у вас есть:

edittextTwo = new EditText(this);

Это сделает ваше объявление глобальным и разрешит всеметоды для доступа к переменной.

1 голос
/ 18 февраля 2012

Я не понимаю, как ваш код выше даже компилируется, так как edittextTwo является локальной переменной в displayASecondEdittext. Сделайте это переменной-членом в вашей деятельности, и она должна работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...