所以這是我第一次真正的Android程序(!hello world),但我確實有java體驗。程序編譯得很好,但運行時一旦它打開就崩潰(嘗試調試,但它在碰到我的斷點之前崩潰)。正在尋找任何有更多android經驗的人的建議。Android程序崩潰(新平臺)
package org.me.tipcalculator;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.text.NumberFormat;
import android.util.Log;
public class TipCalculator extends Activity {
public static final String tag = "TipCalculator";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
final EditText mealpricefield = (EditText) findViewById(R.id.mealprice);
final TextView answerfield = (TextView) findViewById(R.id.answer);
final Button button = (Button) findViewById(R.id.calculate);
button.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v) {
try
{
Log.i(tag, "onClick invoked.");
String mealprice = mealpricefield.getText().toString();
Log.i(tag, "mealprice is [" + mealprice + "]");
String answer = "";
if (mealprice.indexOf("$") == -1)
{
mealprice = "$" + mealprice;
}
float fmp = 0.0F;
NumberFormat nf =
java.text.NumberFormat.getCurrencyInstance();
fmp = nf.parse(mealprice).floatValue();
fmp *= 1.2;
Log.i(tag, "Total Meal Price (unformatted) is [" + fmp + "]");
answer = "Full Price, including 20% Tip: " + nf.format(fmp);
answerfield.setText(answer);
Log.i(tag, "onClick Complete");
}
catch(java.text.ParseException pe){
Log.i (tag ,"Parse exception caught");
answerfield.setText("Failed to parse amount?");
}
catch(Exception e){
Log.e (tag ,"Failed to Calculate Tip:" + e.getMessage());
e.printStackTrace();
answerfield.setText(e.getMessage());
}
}
}
);
}
萬一它有助於繼承人的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">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Android Tip Calculator"/>
<EditText
android:id="@+id/mealprice"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoText="true"/>
<Button
android:id="@+id/calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Tip"/>
<TextView
android:id= "@+id/answer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text=""/>
</LinearLayout>