Как передать редактировать текстовые данные в виде строки для следующего действия? - PullRequest
12 голосов
/ 31 мая 2011

Я занимаюсь разработкой приложения для 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();

    }
}

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

Ответы [ 4 ]

16 голосов
/ 31 мая 2011

После того, как вы использовали 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()) вы получаете намерение и извлекаете строку ...

public class MyNewActivity extends Activity {

    String uriString;

    @Override
    protected void onCreate(...) {

        ...

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

    }
}
2 голосов
/ 31 мая 2011

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

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

В NextActivity:

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

2 голосов
/ 31 мая 2011

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

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

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

Intent intent=new Intent(this,nextActivity.this);
intent.putExtra("editText_value",str);
startActivity(intent);
2 голосов
/ 31 мая 2011

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

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

Чтение содержимого строкипри нажатии кнопки.

 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);
                    }
                });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...