2016-11-05 121 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

这是一个非常好的建议。看,我正在学习。谢谢你。 :)我已经明白了它的手。 –