Простой пример для Intent и Bundle
Я новичок в андроиде, почти не владея Java и XML.
Я изучаю это через pdf файлы, которые я получаю в сети.
Я узнал о Тосте, немного о намерениях, но я не мог ничего понять о Связках. Я понял, что они используются для передачи данных из одной активности в другую, но я не могу это реализовать.
просьба дать простой пример для реализации того же самого.
как, например, я только что создал два действия: Main_Activity и Other_Activity, и я еще ничего не сделал с ними.
Просьба привести простейший пример, чтобы я мог научиться реализовывать.
Спасибо заранее!
Ответы
Ответ 1
Например:
В MainActivity:
Intent intent = new Intent(this, OtherActivity.class);
intent.putExtra(OtherActivity.KEY_EXTRA, yourDataObject);
startActivity(intent);
В OtherActivity:
public static final String KEY_EXTRA = "com.example.yourapp.KEY_BOOK";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String yourDataObject = null;
if (getIntent().hasExtra(KEY_EXTRA)) {
yourDataObject = getIntent().getStringExtra(KEY_EXTRA);
} else {
throw new IllegalArgumentException("Activity cannot find extras " + KEY_EXTRA);
}
// do stuff
}
Дополнительная информация здесь:
http://developer.android.com/reference/android/content/Intent.html
Ответ 2
Попробуйте следующее: если вам нужны значения прохода между действиями, которые вы используете это...
Этот код для Main_Activity помещает значения в цель
String name="aaaa";
Intent intent=new Intent(Main_Activity.this,Other_Activity.class);
intent.putExtra("name", name);
startActivity(intent);
Этот код для Other_Activity и получения значения формы намерения
Bundle b = new Bundle();
b = getIntent().getExtras();
String name = b.getString("name");
Ответ 3
В основном это то, что вам нужно сделать:
в первом действии:
Intent intent = new Intent();
intent.setAction(this, SecondActivity.class);
intent.putExtra(tag, value);
startActivity(intent);
и во втором активе:
Intent intent = getIntent();
intent.getBooleanExtra(tag, defaultValue);
intent.getStringExtra(tag, defaultValue);
intent.getIntegerExtra(tag, defaultValue);
одна из функций get даст вам значение в зависимости от типа данных, через который вы проходите.