android - 单击计算按钮时程序崩溃

标签 android button crash crash-reports

I have an application that crashes when the calculate button is clicked. In the program, a user enters the food information from a drop down menu list and then enters their information along with the order. The order total is then calculated with text and the toast message displays with their order information in the second activity (Food_Total).


        >>Here are print screens of the code:

        public class MainActivity extends Activity {

        public static String priceString= "";

            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
            }

          @Override
            public boolean onCreateOptionsMenu(Menu menu) {
                getMenuInflater().inflate(R.menu.activity_main, menu);
                return true;
            }

            public void onClick(View view) {
                    Intent intent = new Intent(this, Food_Total.class);
                    Bundle b = new Bundle();
                    DecimalFormat df = new DecimalFormat("0.00");//decimal format for dollars
                    EditText mealNameBox= (EditText) findViewById(R.id.editText1);
                    String mealNameString= mealNameBox.getText().toString();
                    EditText mealPriceBox = (EditText) findViewById(R.id.editText2);
                    String priceString = mealPriceBox.getText().toString();
                    Double priceDouble= Double.parseDouble(priceString);

                    //Sales tax for VA
                    String tax= "4%";

                    String percentString= tax.toString();
                    //Calculate taxes for food
                    double taxfood= priceDouble * .04;

                    String taxfood_string= Double.toString(taxfood);


                    //Calculate food total
                    double food_total= taxfood + priceDouble;

                    String food_total_string= Double.toString(food_total);

                    b.putString("Meal Price:", "" + df.format(priceString));
                    b.putString("Tax: ", tax);
                    b.putString("Food Total: ", "" + df.format(food_total));

                    intent.putExtras(b);
                    startActivity(intent);

                    //Toast.makeText(this, "" + tip, Toast.LENGTH_LONG).show();
                    //Toast.makeText(this, "" + total, Toast.LENGTH_LONG).show();
                }
        }


    Food_Total Activity (displays toast message):

        public class Food_Total extends Activity {

            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_food__total);
                //get info from intent
                Bundle b = getIntent().getExtras();

                // #####################################################
                //Updated key values on bundle so that they
                // match the MainActivity class
                // #####################################################
                String meal_nameString= b.getString("MealName");
                String mealString = b.getString("MealPrice");
                String percentString = b.getString("TaxRate");
                String tax_foodString= b.getString("TaxAmount");
                String food_totalString= b.getString("Total");

                //results output info
                String results = meal_nameString + getString(R.string.mealNameString) +
                "\n" + mealString + getString(R.string.mealPrice)+ ": $"+ 
                "\n" + percentString + "%" +  
                "\n" + tax_foodString + getString(R.string.taxfood_string) + ": $"  +
                "\n" + food_totalString + getString(R.string.food_total_string);

                //create text view
                TextView textView = new TextView(this);
                textView.setTextSize(30);
                textView.setText(results);

                //set view as the activity layout
                setContentView(textView);
            }

            @Override
            public boolean onCreateOptionsMenu(Menu menu) {
                getMenuInflater().inflate(R.menu.activity_food__total, menu);
                return true;
            }

            @Override
            public boolean onOptionsItemSelected(MenuItem item) {
                switch (item.getItemId()) {
                    case android.R.id.home:
                        NavUtils.navigateUpFromSameTask(this);
                        return true;
                }
                return super.onOptionsItemSelected(item);
            }
        }

        Layout 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" >

            <EditText
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginTop="15dp"
                android:ems="10" >

                <requestFocus />
            </EditText>

            <TextView
                android:id="@+id/name_lbl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/name"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="18dp"
                android:text="Student Name: "
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <TextView
                android:id="@+id/Food_Name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/name_lbl"
                android:layout_below="@+id/name_lbl"
                android:layout_marginTop="34dp"
                android:text="Food Name:"
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <EditText
                android:id="@+id/editText1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/Food_Name"
                android:layout_alignParentRight="true"
                android:ems="10" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/Food_Name"
                android:layout_below="@+id/Food_Name"
                android:layout_marginTop="26dp"
                android:text="Food Price: "
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <EditText
                android:id="@+id/editText2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBaseline="@+id/textView1"
                android:layout_alignBottom="@+id/textView1"
                android:layout_alignParentRight="true"
                android:ems="10"
                android:inputType="numberDecimal" />

            <ListView
                android:id="@+id/listView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/textView1"
                android:layout_alignRight="@+id/name_lbl"
                android:layout_below="@+id/editText2"
                android:layout_marginTop="44dp" >

            </ListView>

            <Button
                android:id="@+id/calculate"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignTop="@+id/listView1"
                android:layout_marginRight="50dp"
                android:onClick="onClick"
                android:text="Calculate" />

        </RelativeLayout>

    >>Android Manifest File:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.food_activity_final"
        android:versionCode="1"
        android:versionName="1.0" >

        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="15" />

        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name=".MainActivity"
                android:label="@string/title_activity_main" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity
                android:name=".Food_Total"
                android:label="@string/title_activity_food__total" >

                     <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.myfirstapp.MainActivity" />

                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />

            </activity>
        </application>

    </manifest>

    >>Thank you for your help! Let me know if you need to know anything more about the program.

最佳答案

这些 Activity 如何在AndroidManifest.xml中定义? MainActivity应该具有一个意图过滤器,如下所示:




其他 Activity 也必须在其中,但它不应具有意图过滤器。

关于android - 单击计算按钮时程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13128132/

相关文章:

android - 使用 SharedPreference 保存字符串数组

Android-Prev Next 按钮 MediaController

android - Facebook Cordova 插件 - 共享照片(无链接)导致共享对话框为空

Android Hello World Qt 5.2

java swing 两个按钮通信

button - 一键多个弹出窗口

java - 如何缩放 .JPEG 以适应位于 GridView 中的按钮?

c++ - 捕获 C++ 库崩溃的一致方法

我的应用程序的 Android APK 下载不起作用,Xamarin.Android

c# - 是否可以编写一个看门狗进程来捕获应用程序崩溃?