2015-09-16 7 views
5

कनवर्ट करने पर क्रैश हो गया है मैंने एंड्रॉइड स्टूडियो में कनवर्टर बनाया है और जब मैं कनवर्ट बटन दबाता हूं तो दूरी भाग (गतिविधि) हर बार क्रैश हो रहा है। आवेदन कहता है कि विशिष्ट गतिविधि ने काम करना बंद कर दिया है और ऐप मुख्य गतिविधि पर वापस चला गया है। यह एंड्रॉइड स्टूडियो में कोई त्रुटि नहीं दिखा रहा है और मुझे लगता है कि मेरी समस्या स्पिनर से int pos का उपयोग करने में हो सकती है लेकिन मुझे यकीन नहीं है। मेरे लिए खत्म करने वाला यह आखिरी तत्व है। कृपया मदद करे। नीचे जावा है xml के बाद।एंड्रॉइड कनवर्टर एप्लिकेशन

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main4); 

    spinnerFrom = (Spinner)findViewById(R.id.spinner1); 
    ArrayAdapter<CharSequence> adapterFrom = ArrayAdapter.createFromResource(this, R.array.distance_array, android.R.layout.simple_spinner_item); 
    adapterFrom.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinnerFrom.setAdapter(adapterFrom); 
    spinnerFrom.setOnItemSelectedListener(this); 

    spinnerTo = (Spinner)findViewById(R.id.spinner2); 
    ArrayAdapter<CharSequence> adapterTo = ArrayAdapter.createFromResource(this, R.array.distance_array, android.R.layout.simple_spinner_item); 
    adapterTo.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinnerTo.setAdapter(adapterTo); 
    spinnerTo.setOnItemSelectedListener(this); 

} 
public void convert(View view){ 
    double value = new Double(distance.getText().toString()); 
    from = spinnerFrom.getSelectedItemPosition(); 
    to = spinnerTo.getSelectedItemPosition(); 

    if(from == 0){ 
     if(to == 1) 
      value = UnitConverter.feetToMiles(value); 
     else if (to == 2) 
      value = UnitConverter.feetToMeters(value); 
     else if(to == 3) 
      value = UnitConverter.feetToYards(value); 
     else 
      value = value; 
    }else if(from == 1){ 
     if(to == 0) 
      value = UnitConverter.milesToFeet(value); 
     else if (to == 2) 
      value = UnitConverter.milesToMeters(value); 
     else if(to == 3) 
      value = UnitConverter.milesToYards(value); 
     else 
      value = value; 
    }else if(from == 2){ 
     if(to == 0) 
      value =UnitConverter.metersToFeet(value); 
     else if(to == 1) 
      value = UnitConverter.metersToMiles(value); 
     else if(to == 3) 
      value = UnitConverter.metersToYards(value); 
     else 
      value = value; 
    }else if(from == 3){ 
     if(to == 0) 
      value = UnitConverter.yardsToFeet(value); 
     else if(to == 1) 
      value = UnitConverter.yardsToMiles(value); 
     else if(to == 2) 
      value = UnitConverter.yardsToMeters(value); 
     else 
      value = value; 
    } 
    distance.setText(new Double(value).toString()); 

} 

व एक्सएमएल

<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:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context="com.example.jacob.myapplication.Main4Activity" 
android:background="@android:color/holo_blue_bright"> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Distance Converter" 
    android:id="@+id/textViewTitle" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginLeft="92dp" 
    android:layout_marginStart="92dp" /> 

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:inputType="numberDecimal" 
    android:ems="10" 
    android:id="@+id/editText" 
    android:layout_below="@+id/textViewTitle" 
    android:layout_centerHorizontal="true" 
    android:hint="Enter Distance" /> 

<Spinner 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/spinner1" 
    android:spinnerMode="dialog" 
    android:clickable="true" 
    android:layout_below="@+id/textViewFrom" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Convert To:" 
    android:id="@+id/textViewTo" 
    android:layout_below="@+id/spinner1" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<Spinner 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/spinner2" 
    android:spinnerMode="dialog" 
    android:layout_below="@+id/textViewTo" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Convert From" 
    android:id="@+id/textViewFrom" 
    android:layout_below="@+id/editText" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="Convert" 
    android:id="@+id/buttonConvert" 
    android:layout_below="@+id/spinner2" 
    android:layout_centerHorizontal="true" 
    android:onClick="convert" /> 

उत्तर

3

आप एक ही चर नाम यहाँ

डबल मूल्य = नई डबल (। Distance.getText() toString()) उपयोग नहीं किया है;

दूरी क्या है, दूरी कहां है? मैं इसे एक्सएमएल लेआउट में नहीं देख सकता।

यह आप दूरी के EditText का नाम नहीं बदला, edittext में आईडी नाम एंड्रॉयड है लगता है: आईडी = "@ + id/editText"

तो editText

के लिए दूरी का नाम बदलने
+2

वह था। तेज आंख के लिए धन्यवाद –

संबंधित मुद्दे