Click here to Skip to main content
16,017,261 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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;
	
    /** Called when the activity is first created. */
    @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){
    	//change the spinners item depending on menu choice
    	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

MSIL
<?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

MSIL
<?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!!!
Posted
Comments
Sergey Alexandrovich Kryukov 21-Jul-11 2:33am    
"Automatically crashes"? Wow, this is automation! You don't have to crash it manually. Good start.
--SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900