Как передать строку из одной активности в другую?

Мне интересно, как передать и прочитать строку, которая находится в одном действии от другого действия. У меня есть два вида деятельности. Я назову их Activity1 и Activity2. У меня есть строка в Activity1, называемая course . Я хочу прочитать эту строку в Activity2.

Я попытался сделать это, но строка получилась пустой.

public class Activity2 extends Activity1 {

Я видел, как люди используют функцию Intent, но я не мог понять, как ее использовать.

Какие-либо предложения? Благодаря!

Пропускайте значения, используя намерения.

В вашей первой деятельности

  Intent i= new Intent("com.example.secondActivity"); i.putExtra("key",mystring); // for explicit intents // Intent i= new Intent(ActivityName.this,SecondActivity.class); // parameter 1 is the key // parameter 2 is the value // your value startActivity(i); 

Во втором упражнении извлеките его.

 Bundle extras = getIntent().getExtras(); if (extras != null) { String value = extras.getString("key"); //get the value based on the key } 

Для передачи пользовательских объектов вы можете посмотреть эту ссылку

http://www.technotalkative.com/android-send-object-from-one-activity-to-another-activity/

ваша первая активность, Activity1

 public class Activity1 extends Activity { Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity1); btn=(Button) findViewById(R.id.payBtn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent intent=new Intent(Activity1.this,Activity2.class); intent.putExtra("course", "courseValue"); startActivity(intent); } }); } } Activity2 public class Activity2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity2); String course=getIntent().getExtras().getString("course").toString(); Log.d("course",course); } } 

Надеюсь, что это поможет вам.

Вы на правильном пути – вы используете намерение запустить второе действие. Все, что вам нужно сделать, это добавить intent.putExtra("title", stringObject); где stringObject – это строка, которую вы хотите передать, а название – это имя, которое вы хотите передать этому объекту. Вы используете это имя для ссылки на объект, переданный во втором действии, следующим образом:

 String s = (String)getIntent().getExtras().getSerializable("title"); 

Из 1-го действия выполните следующее:

 Intent intent= new Intent("path.secondActivity"); intent.putExtra("keyString",sampleString); startActiivty(intent); 

и в действии 2 попробуйте что-то вроде этого:

 Bundle values = getIntent().getExtras(); if (values != null) { String keyString = values.getString("keyString"); } 

В вашей главной деятельности

 Intent i= new Intent(MainActivity.this,SecondActivity.class); i.putExtra("key",yourstring); startActiivty(i); 

В вашем втором действии onCreate ()

 Bundle extras = getIntent().getExtras(); if (extras != null) { String value = extras.getString("key"); } 

Попробуй это

Открытый class Activity2 расширяет Activity1

  • Как установить блок для Paint.setTextSize ()
  • Динамический список в приложении Android
  • ListView OnItemClickListener не отвечает?
  • Передача функции в качестве параметра в java
  • Java - Нулевая переменная требует пространства в памяти
  • Как я могу генерировать случайное число в определенном диапазоне в Android?
  • Android - ImageLoader должен быть init с настройкой перед использованием в UIL
  • Как я могу использовать пользовательский растровый рисунок для точки «вы здесь» в MyLocationOverlay?
  • Может ли Android Studio использоваться для запуска стандартных проектов Java?
  • Использование цвета и color.darker в Android?
  • Передача нескольких файлов Java через сокет
  • Interesting Posts

    Как получить поддержку AVX в QEMU?

    Создание SoftKeyboard с несколькими / альтернативными символами на ключ

    Как я могу обмениваться сеансом между несколькими поддоменами в ASP.NET?

    есть ли обратная связь для рендеринга для Angular JS?

    Как удалить запись MySQL через определенное время

    Подключите два компьютера к одному динамику?

    Как создать пользовательские сочетания клавиш в vim?

    Как VBA может подключаться к базе данных MySQL в Excel?

    Запрос превысил предел 10 внутренних переадресаций из-за вероятной ошибки конфигурации.?

    Почему индикатор жесткого диска мигает один раз в секунду?

    Как работают операторы смены в Java?

    Конструкция конструктора по умолчанию и инициализация встроенного поля

    NHibernate: Как мне XmlSerialize ISet ?

    ipad safari: отключить прокрутку и эффект отскока?

    Каков максимальный размер файла cookie и сколько можно сохранить в браузере для каждого веб-сайта?

    Давайте будем гением компьютера.