gpt4 book ai didi

android - Toast 在我的 Android 应用程序中不起作用

转载 作者:行者123 更新时间:2023-11-30 01:46:03 28 4
gpt4 key购买 nike

我是一名初学者 android 应用程序开发人员。目前正在尝试构建一个简单的计算器应用程序,并希望通过使用 Toast 来显示计算结果。但现在我无法使用 toast 来显示此输出。有我的代码

MainActivity.java

package com.example.calculator;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import android.app.Activity;

public class MainActivity extends Activity {
EditText input_field1,input_field2,result_field;
int result_var;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void add_numbers(View v){

input_field1= (EditText) findViewById(R.id.field1);
String no1=input_field1.getText().toString();
input_field2= (EditText) findViewById(R.id.field2);
String no2=input_field2.getText().toString();
int field1_int=Integer.parseInt(no1);
int field2_int=Integer.parseInt(no2);
result_field= (EditText) findViewById(R.id.resultfield);
result_var=field1_int+field2_int;
result_field.setText("result "+result_var);
Toast.makeText(getApplicationContext(), result_var, Toast.LENGTH_LONG).show();

}
}

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_toRightOf="@+id/button1"
android:text="Substract" />

<Button
android:id="@+id/divide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_toRightOf="@+id/button2"
android:text="Divide" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/editText1"
android:layout_marginTop="105dp"
android:text="Add"
android:onClick="add_numbers" />


<EditText
android:id="@+id/field1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/editText1"
android:layout_marginTop="22dp"
android:ems="10" />

<EditText
android:id="@+id/resultfield"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button2"
android:layout_marginTop="16dp"
android:ems="10" />

<EditText
android:id="@+id/field2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button2"
android:layout_alignLeft="@+id/button1"
android:ems="10" />

</RelativeLayout>

最佳答案

问题是您需要在 toast 中显示一个字符串。您正在尝试显示一个 int。最简单的做法是使用 String.valueOf() 用 String 包装它。

Toast.makeText(getApplicationContext(), String.valueOf(result_var), Toast.LENGTH_LONG).show();

作为旁注,通常在 Java 中我们不会在变量名中使用下划线 _。最好这样命名。

EditText mInputField1,mInputField2,mResultField;
int mResultVar;

m 成员变量。

最好将 findViewById 放在 onCreate 中。

关于android - Toast 在我的 Android 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33706368/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com