Я немного застрял, как я могу получить переменную из основного действия, которая будет отображаться на второе занятие?
пример кода был бы отличным.
Также вторая проблема:
Как я могу создать функцию в mainactivty, когда кнопка нажата во втором действии?
Это то, что у меня есть до сих пор, но когда я нажимаю кнопку во втором действии, приложение вылетает.
функция кнопки должна иметь возможность изменять значение переменной в MainActivity и запускать всплывающее уведомление о том, что она была выбрана.
Основная деятельность
//SETTING THE DRINK SIZE BASED ON POPUP BUTTONS
public int DrinkSize;
public void SetDrinkSize_Small(View view) {
DrinkSize = 1;
Toast Small = Toast.makeText(getApplicationContext(),
"Drink Size Set To Small",
Toast.LENGTH_SHORT);
Small.show();
}
public void SetDrinkSize_Medium(View view) {
DrinkSize = 2;
Toast Medium = Toast.makeText(getApplicationContext(),
"Drink Size Set To Medium",
Toast.LENGTH_SHORT);
Medium.show();
}
public void SetDrinkSize_Large(View view) {
DrinkSize = 3;
Toast Large = Toast.makeText(getApplicationContext(),
"Drink Size Set To Large",
Toast.LENGTH_SHORT);
Large.show();
}
CustomPopUp.xml
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "10dp"
android:orientation = "horizontal">
<LinearLayout
android:layout_width = "0dp"
android:layout_height = "120dp"
android:layout_weight = "1"
android:background = "@color/Orange"
android:gravity = "center_horizontal"
android:orientation = "vertical"
android:onClick = "SetDrinkSize_Small">
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Small"
android:textColor = "@color/White"
android:textSize = "18dp"
android:textStyle = "bold" />
<ImageView
android:layout_width = "30dp"
android:layout_height = "30dp"
android:layout_marginTop = "15dp"
android:src = "@drawable/drop" />
</LinearLayout>
<LinearLayout
android:layout_width = "0dp"
android:layout_height = "120dp"
android:layout_weight = "1"
android:background = "@color/Green"
android:gravity = "center_horizontal"
android:orientation = "vertical"
android:onClick = "SetDrinkSize_Medium">
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Medium"
android:textColor = "@color/White"
android:textSize = "18dp"
android:textStyle = "bold" />
<ImageView
android:layout_width = "50dp"
android:layout_height = "50dp"
android:layout_marginTop = "15dp"
android:src = "@drawable/drop" />
</LinearLayout>
<LinearLayout
android:layout_width = "0dp"
android:layout_height = "120dp"
android:layout_weight = "1"
android:background = "@color/Orange"
android:gravity = "center_horizontal"
android:orientation = "vertical"
android:onClick = "SetDrinkSize_Large">
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Large"
android:textColor = "@color/White"
android:textSize = "18dp"
android:textStyle = "bold" />
<ImageView
android:layout_width = "70dp"
android:layout_height = "70dp"
android:layout_marginTop = "15dp"
android:src = "@drawable/drop" />
</LinearLayout>
вызов функции в основной активности при нажатии кнопки со второго приведет к сбою вашего приложения, поскольку основная активность не видна (в фоновом режиме, а вторая - на переднем плане). проведите исследование фрагмента и посмотрите, могут ли они помочь вам достичь вашей цели




Вы можете легко отправлять и получать данные с помощью намерений, как показано в этом руководстве по Android: Руководство по намерениям. И если вы хотите отправить некоторые данные обратно первому, вы можете использовать этот пост: Отправка информации обратно.
Возможный дубликат Как передавать данные между действиями в приложении Android?