Как отобразить переменную из Mainactivity в Texview второго Activity

Я немного застрял, как я могу получить переменную из основного действия, которая будет отображаться на второе занятие?

пример кода был бы отличным.

Также вторая проблема:

Как я могу создать функцию в 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>

вызов функции в основной активности при нажатии кнопки со второго приведет к сбою вашего приложения, поскольку основная активность не видна (в фоновом режиме, а вторая - на переднем плане). проведите исследование фрагмента и посмотрите, могут ли они помочь вам достичь вашей цели

medyas 11.02.2019 19:29
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
62
1

Ответы 1

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

Другие вопросы по теме