Передача Bundle на startActivity ()?

голоса
137

Что такое правильный способ передать сверток к деятельности, которая запущена с нынешней? Общие свойства?

Задан 20/04/2009 в 17:13
источник пользователем
На других языках...                            


5 ответов

голоса
368

У вас есть несколько вариантов:

1) Используйте Bundle от Intent :

Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);  

2) Создать новую Bundle

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);

3) С помощью putExtra () метод быстрого умысла

Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);


Затем, в запущенной деятельности, вы бы читать их с помощью:

String value = getIntent().getExtras().getString(key)

ПРИМЕЧАНИЕ: Связки имеют «получить» и «поставить» методы для всех примитивных типов, Parcelables и Serializables. Я просто использовал Струны для демонстрационных целей.

Ответил 04/05/2009 в 10:23
источник пользователем

голоса
17

Вы можете использовать Bundle от Intent:

Bundle extras = myIntent.getExtras();
extras.put*(info);

Или весь пакет:

myIntent.putExtras(myBundle);

Это то, что вы ищете?

Ответил 20/04/2009 в 17:25
источник пользователем

голоса
11

Передача данных от одного вида деятельности к деятельности в андроиде

Намерение содержит действие и , необязательно , дополнительные данные. Данные могут быть переданы в другую активность с использованием намерения putExtra()метода. Данные передаются в качестве статистов и key/value pairs. Ключ всегда является строкой. В качестве значения можно использовать примитивные типы данных целый, дробный, гольцов и т.д. Мы также можем передать Parceable and Serializableобъекты из одного вида деятельности на другой.

Intent intent = new Intent(context, YourActivity.class);
intent.putExtra(KEY, <your value here>);
startActivity(intent);

Получение расслоения данных от андроида деятельности

Вы можете получить информацию с помощью getData()методов на Intent объекта. Намерение объект может быть получен с помощью getIntent()метода.

 Intent intent = getIntent();
  if (null != intent) { //Null Checking
    String StrData= intent.getStringExtra(KEY);
    int NoOfData = intent.getIntExtra(KEY, defaultValue);
    boolean booleanData = intent.getBooleanExtra(KEY, defaultValue);
    char charData = intent.getCharExtra(KEY, defaultValue); 
  }
Ответил 19/03/2015 в 05:39
источник пользователем

голоса
1

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

Intent intent = new Intent(this,NewActivity.class);
Bundle bundle = new Bundle();
bundle.putString(key,value);
intent.putExtras(bundle);
startActivity(intent);

Теперь в вашем NewActivity, вы можете получить этот пакет и retrive своей ценности.

Bundle bundle = getArguments();
String value = bundle.getString(key);

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

Intent intent = new Intent(this,NewActivity.class);
intent.putExtra(key,value);
startActivity(intent);

Теперь в вашем NewActivity, вы можете получить это значение от намерения, как это,

String value = getIntent().getExtras().getString(key);
Ответил 19/02/2018 в 07:31
источник пользователем

голоса
0

Написать это деятельность Вы находитесь в:

Intent intent = new Intent(CurrentActivity.this,NextActivity.class);
intent.putExtras("string_name","string_to_pass");
startActivity(intent);

В NextActivity.java

Intent getIntent = getIntent();
//call a TextView object to set the string to
TextView text = (TextView)findViewById(R.id.textview_id);
text.setText(getIntent.getStringExtra("string_name"));

Это работает для меня, вы можете попробовать его.

Источник: https://www.c-sharpcorner.com/article/how-to-send-the-data-one-activity-to-another-activity-in-android-application/

Ответил 11/09/2018 в 14:29
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more