Zbudowałem konwerter w Androidzie i część odległości (aktywność) ulega awarii za każdym razem, gdy naciskam przycisk Konwertuj. Aplikacja mówi, że określone działanie przestało działać, a aplikacja wraca do głównego działania. Nie pokazuje żadnych błędów w androidowym studio i myślę, że moim problemem może być użycie int od spinnera, ale nie jestem pewien. To ostatni element, który muszę ukończyć dla mnie. Proszę pomóż. Poniżej znajduje się java, po którym następuje xml.Konwerter aplikacji na Androida ulega awarii podczas konwersji
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());
}
i 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" 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" />
To było to. Dzięki za ostre oko –