2016-11-05 82 views
-3

因此,當我按下設備上的遞增或遞減按鈕時,應用程序組合關閉。我嘗試使用調試器,但似乎無法找出問題。它基本上是一個顯示訂單摘要的單屏應用程序。似乎無法確定爲什麼我的應用程序強制關閉

下面是XML代碼:

<ScrollView 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" 
    tools:context=".MainActivity"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin"> 

     <TextView 
      android:id="@+id/name_field" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="QUANTITY!" /> 


     <CheckBox 
      android:id="@+id/whipped_cream_checkbox" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingLeft="24dp" 
      android:text="Whipped Cream" 
      android:textSize="16sp" /> 



     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <Button 
       android:layout_width="48dp" 
       android:layout_height="48dp" 
       android:onClick="decrement" 
       android:text="-" /> 

      <TextView 
       android:id="@+id/quantity_text_view" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingLeft="8dp" 
       android:paddingRight="8dp" 
       android:text="0" 
       android:textColor="@android:color/black" 
       android:textSize="16sp" /> 

      <Button 
       android:layout_width="48dp" 
       android:layout_height="48dp" 
       android:onClick="increment" 
       android:text="+" /> 

     </LinearLayout> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="16dp" 
      android:onClick="submitOrder" 
      android:text="Order" /> 

     <TextView 
      android:id="@+id/order_summary" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:padding="16dp"/> 

    </LinearLayout> 
</ScrollView> 

Java代碼:

package com.example.android.timeforacoffee; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

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

    int quantity=0; 
    String priceMessage="Name: Moksh \n" + "Your total is ₹" +quantity; 

    public void displayQuanity(int quantity) { 
     TextView quantity_value=(TextView) findViewById(R.id.quantity_text_view); 
     quantity_value.setText(quantity); 
    } 

    /** 
    *This method is called when the - button is pressed. 
    */ 
    public void decrement(View view) { 
     displayQuanity(quantity - 1); 
    } 

    /** 
    * 
    * This method is called when the + button is clicked. 
    */ 
    public void increment(View view) { 
     displayQuanity(quantity + 1); 
    } 


    public void displayMessage(String priceMessage) { 
     TextView order_summary=(TextView) findViewById(R.id.order_summary); 
       order_summary.setText(priceMessage); 
    } 

    /** 
    * This method is called when the Order button is clicked. 
    */ 

    public void submitOrder(View view) { 
     displayMessage(priceMessage); 
    } 
} 
+1

你獲取日誌中的錯誤信息解決這個問題?尋找'致命' – vkislicins

+1

發佈您的logcat。 –

+2

[android.content.res.Resources $ NotFoundException:String資源ID#0x0]可能重複(http://stackoverflow.com/questions/20177003/android-content-res-resourcesnotfoundexception-string-resource-id-0x0) –

回答

0

我認爲這個問題是在下面的一行代碼

quantity_value.setText(quantity); 

注意,當你將任意整數傳遞給setText函數android將整數視爲對字符串資源的引用並搜索fo r在資源文件中的字符串,如果該字符串未找到,您的應用程序將崩潰android.content.res.Resources$NotFoundException。 你可以簡單地通過顯式解析整數字符串如下

quantity_value.setText(String.valueOf(quantity)); 
+0

謝謝,隊友。這解決了我的問題。但是,現在當我單擊增量按鈕時,它不會增加大於1的值,或者在減小按鈕-1的情況下。 –

+0

瞭解編程的一些基本知識......請注意,您從未更改過數量值 – nvinayshetty

+0

這是一個非常好的建議。看,我正在學習。謝謝你。 :)我已經明白了它的手。 –