2012-10-29 1 views
0

계산 버튼을 클릭하면 충돌하는 응용 프로그램이 있습니다. 이 프로그램에서 사용자는 드롭 다운 메뉴 목록에서 음식 정보를 입력 한 다음 주문과 함께 정보를 입력합니다. 그런 다음 순서 합계가 텍스트로 계산되고 토스트 메시지가 두 번째 활동 (Food_Total)의 주문 정보와 함께 표시됩니다. 이러한 활동의 ​​AndroidManifest.xml에 정의 된 방법계산 버튼을 클릭하면 프로그램이 충돌 함

 >>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. 
+3

충돌을 일으키는 로그를 확인하십시오. 해독 할 수 없다면 여기에 붙여 넣으십시오. –

+0

이것은 문제가 아니지만 무언가를 놓치지 않았다면 아마도 필요하지 않은 문자열에 대해 toString()을 호출합니다. – codeMagic

+0

콘솔에서 유일한 오류는 다음과 같습니다. [2012-10-29 17:04:12 - com.example.food_activity_final.MainActivity] ActivityManager : 경고 : 작업이 시작되지 않았으며 현재 작업이 전면에 나타났습니다. –

답변

0

? 다른 활동도 거기에 있어야한다, 그러나 그것은 텐트 필터가없는해야 다음과 같이 MainActivity는 텐트 필터가 있어야합니다.

+0

인 텐트 필터가 있습니다. 매니페스트는 다음과 같습니다 : –

+0

나는 총 음식에 대한 의도 필터를 없앴으며 여전히 아무 것도하지 않았습니다. –

+0

Android Manifest 파일을 업로드합니다. –