【问题标题】:How to Display a variable from Mainactivity in a second Activity's Texview如何在第二个活动 Textview 中显示 Mainactivity 中的变量
【发布时间】:2019-07-05 07:24:10
【问题描述】:

我有点卡住了,如何从主要活动中获取变量以显示在第二个活动上?

一个代码示例会很棒。

还有第二个问题:

如何在第二个活动中按下按钮时在 mainactivty 中创建函数?

这是我到目前为止所拥有的,但是当我在第二个活动中按下按钮时,应用程序崩溃了。

按钮的功能需要能够更改 MainActivity 中变量的值并运行 toast 以表明它已被选中。

主要活动

//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>

【问题讨论】:

  • 从第二个按钮单击时调用 mainactivity 中的函数将导致您的应用程序崩溃,因为 mainactivity 不可见(在后台,第二个在前台)。对片段进行研究,看看它们是否可以帮助您实现目标

标签: java android android-studio variables textview


【解决方案1】:

您可以使用 Intent 轻松发送和接收数据,您可以在本 Android 教程中看到:Intent tutorial。 如果您想将一些数据发送回第一个,您可以使用此帖子:Sending info back

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 2020-12-04
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    相关资源
    最近更新 更多