Подтвердить что ты не робот

Как передать текстовые данные в форме строки для следующего действия?

Я разрабатываю приложение для Android, в котором я взял две кнопки и одно текстовое поле редактирования. я хочу передать данные текстового поля редактирования из строки в следующую операцию при щелчке одной из кнопок, как передать текст в следующую операцию и получить этот текст в новом запущенном действии, чтобы можно было использовать текст в этом.

мой код для первого действия

EditText Urlis=(EditText)findViewById(R.id.entry);
final Button button = (Button) findViewById(R.id.ok);
final Intent i=new Intent(this , RSSReder.class);
final String choice=Urlis.getText().toString();

i.putExtra("key", choice);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        startActivity(i);
    }    
});  

и для вызываемой активности

public class RSSReder extends Activity implements OnItemClickListener {

    public String RSSFEEDOFCHOICE;
    public final String tag = "RSSReader";
    private RSSFed feed = null;

    /** Called when the activity is first created. */

    public void onCreate(Bundle abc) {
        super.onCreate(abc);
        setContentView(R.layout.next1);

        Intent i = getIntent();
        RSSFEEDOFCHOICE =i.getStringExtra("key");

        // go get our feed!
        feed = getFeed(RSSFEEDOFCHOICE);

        // display UI
        UpdateDisplay();

    }
}

есть что-то, что мне нужно изменить или удалить.

4b9b3361

Ответ 1

После того, как вы использовали setContentView(...), вам нужно ссылаться на ваш EditText и получить текст, например...

EditText et = (EditText) findViewById(R.id.my_edit_text);
String theText = et.getText().toString();

Чтобы передать его другому Activity, вы используете Intent. Пример...

Intent i = new Intent(this, MyNewActivity.class);
i.putExtra("text_label", theText);
startActivity(i);

В новой операции (в onCreate()) вы получаете Intent и извлекаете String...

public class MyNewActivity extends Activity {

    String uriString;

    @Override
    protected void onCreate(...) {

        ...

        Intent i = getIntent();
        uriString = i.getStringExtra("text_label");

    }
}

Ответ 2

Вы можете использовать намерения для этой цели. Здесь учебник для этого.

Также проверьте Как передать значения из одного действия в предыдущее действие

Чтение содержимого кнопки String on Button.

 EditText mText = (EditText)findViewById(R.id.edittext1);

Button mButton = (Button)findViewById(R.id.button1);

mButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                          String text = mText.getText.toString();
                          Intent intent = new Intent(this, Activity2.class);
                          intent.putExtra("key", text);
                          startActivity(intent);
                    }
                });

Ответ 3

Вы должны использовать Intent для передачи данных в следующую активность.

Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtra("sampleString", "youstringdata");

В NextActivity:

String sampleData = getIntent().getExtras().getLong("sampleString");

Ответ 4

Внутри вашей кнопки onClick Listener попробуйте следующее:

String str=editText.getEditableText().toString();

Теперь используйте свое намерение,

Intent intent=new Intent(this,nextActivity.this);
intent.putExtra("editText_value",str);
startActivity(intent);