The problem is that once i run this app it automatically crashes and I have to force close, I believe it would be in onCreate() becuase nothing else is called in the program.
Here is my code:
Convert.java
package com.android;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class Convert extends Activity implements OnItemSelectedListener{
EditText unitSize;
TextView answer;
Spinner firstUnit;
Spinner secondUnit;
ArrayAdapter<charsequence> adapter;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
answer = (TextView) findViewById(R.id.answer);
unitSize = (EditText) findViewById(R.id.unitSize);
firstUnit = (Spinner) findViewById(R.id.firstUnit);
secondUnit = (Spinner) findViewById(R.id.secondUnit);
firstUnit.setOnItemSelectedListener(this);
secondUnit.setOnItemSelectedListener(this);
adapter = ArrayAdapter.createFromResource(this, R.array.lengthArray, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
firstUnit.setAdapter(adapter);
secondUnit.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.lengthMenu:
adapter = ArrayAdapter.createFromResource(this, R.array.lengthArray, android.R.layout.simple_spinner_item);
adapter.notifyDataSetChanged();
return true;
case R.id.weightMenu:
adapter = ArrayAdapter.createFromResource(this, R.array.weigthArray, android.R.layout.simple_spinner_item);
adapter.notifyDataSetChanged();
return true;
case R.id.liquidsMenu:
adapter = ArrayAdapter.createFromResource(this, R.array.liquidsArray, android.R.layout.simple_spinner_item);
adapter.notifyDataSetChanged();
return true;
default:
return true;
}
}
public void onItemSelected(AdapterView answer.setText(Double.toString(calculate(firstUnit.getSelectedItem().toString(), secondUnit.getSelectedItem().toString(), Double.parseDouble(unitSize.getText().toString()))));
}
public void onNothingSelected(AdapterView
public double calculate(String unit1, String unit2, double d){
return 0;
}
}</charsequence>
strings.xml
<resources>
<string name="hello">Hello World, Convert!</string>
<string name="app_name">Converter</string>
<string-array name="lengthArray">
<item>Inches</item>
<item>Feet</item>
<item>Yard</item>
<item>Mile</item>
</string-array>
<string-array name="weigthArray">
<item>Ounces</item>
<item>Pounds</item>
<item>Ton</item>
<item>Kilograms</item>
</string-array>
<string-array name="liquidsArray">
<item>Pints</item>
<item>Quarts</item>
<item>Gallons</item>
<item>Liters</item>
<item>Milliliters</item>
</string-array>
</resources>
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText android:id="@+id/unitSize"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Spinner android:id="@+id/firstUnit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/textView1"
android:text="To"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"/>
<Spinner android:id="@+id/secondUnit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/answer"
android:text="0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="25sp"/>
<Button android:id="@+id/convert"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Convert"/>
</LinearLayout>
menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/lengthMenu"
android:title="Length"/>
<item android:id="@+id/weightMenu"
android:title="Weight"/>
<item android:id="@+id/liquidsMenu"
android:title="Liquids"/>
</menu>
Thanks for helping!!!