Как поместить информацию EditText в переменную Intent

Я пытаюсь получить информацию о пользователе, напечатанную в тексте редактирования. Я хочу сохранить его в Intent переменная результата. Попытка отослать это назад к основной деятельности впоследствии. Продолжайте получать метод не может решить. Я думаю, должно быть, я пропускаю параметр в putExtra() метод

public class EnterDataActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_enterdata);

    Button doneButton = (Button) findViewById(R.id.button_done);
    final EditText getData = (EditText) findViewById(R.id.enter_data_here);


    doneButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent result = new Intent();

            result.putExtra(getData);

            setResult(RESULT_OK, result);
            finish(); // Ends sub-activity


            }//ends onClick
        });
    }//ends onCreate void button
}

2 ответа

Решение

Хорошо, если вы пытаетесь отправить EditText это невозможно

Если вы пытаетесь отправить текст, который на этом EditText это возможно

Как это сделать?

Объявить String сохранить данные (Вы можете избежать этого шага, но это более понятно)

String mText = getData.getText().toString();

Тогда вы будете использовать getExtra() method отправить String к новому Activity

Intent i = new Intent(this, MyNewActivity.class);
i.putExtra("text_from_editText", mText);
startActivity(i);

Затем последний шаг (вы не просите об этом, но он вам понадобится), получите текст.

//onCreate() of the second Activity
Intent i = getIntent();
String mText = i.getStringExtra("text_from_editText");

Замещать result.putExtra(getData); с result.putExtra(getData.getText().toString()); чтобы получить текст из EditText. Прямо сейчас вы пытаетесь поместить весь объект EditText в намерение в качестве дополнительного, а не просто текст из EditText.

Другие вопросы по тегам