Если необходимо передавать параметры между Activity, тогда можно использовать функцию putExtra объекта Intent, который принимает два параметра: ключ и значение, затем запускаемое Activity может получить и использовать переданные таким путём параметры.
Для проверки вышесказанного, создайте проект и добавьте в него ещё одно Activity (правый клик на папку java -> New -> Activity -> Empty Activity), второе Activity назовите Main2Activity.
Замените код в файле res/layout/activity_main.xml на этот:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Open Second Activity" />
</LinearLayout>
Код файла res/layout/activity_main2.xml замените на этот:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main2Activity"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Second Activity"
android:id="@+id/foam">
</TextView>
</LinearLayout>
Затем в файле MainActivity.java внутри функции onCreate после строки setContentView(); напишите следующий код:
Button button=findViewById(R.id.btn);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent I = new Intent(MainActivity.this, Main2Activity.class);
// Добавление передаваемого значения путём указания ключа и значения в качестве ключей используются строки, а в качестве значений могут быть использованы объекты любых типов
I.putExtra("key","Android is cool");
// Запуск второго Activity (окна) передав объект Intent
startActivity(I);
}
});
В файле Main2Activity.java после setContentView(); напишите этот код:
TextView text = findViewById(R.id.foam);
// Получение значения переданного через объект класса Intent класса Activity
text.setText(getIntent().getStringExtra("key"));
Реклама