Android - FATAL EXCEPTION: main - Unable to start activity ComponentInfo
Mein problem ist, dass wenn ich meine app auf dem android-emulator die app startet aber schnell stürzt ab und zeigt das popup: "Leider TipCalculator aufgehört hat." Ich sah den code und gesucht haben das internet gründlich nach einer Antwort. Ja, ich bin ein newby bei der android-Entwicklung. Ich habe mir die Fehler, die generiert wurden, die von LogCat, wissen aber nicht das problem und wo es zu finden ist, basierend auf den Fehlern, die ich erhielt.
Hier ist mein code:
TipCalc.java
Paket com.troysantry.tipcalculator;
import android.os.Bundle;
import android.app.Activity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.widget.EditText;
public class TipCalc extends Activity {
public static final String TOTAL_BILL = "TOTAL_BILL";
public static final String CURRENT_TIP = "CURRENT_TIP";
public static final String BILL_WITHOUT_TIP = "BILL_WITHOUT_TIP";
public double billBeforeTip;
public double tipAmount;
public double finalBill;
EditText txtBillBeforeTip;
EditText txtTipAmount;
EditText txtFinalBill;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tip_calc);
if(savedInstanceState==null){
billBeforeTip=0.0;
tipAmount=0.15;
finalBill=0.0;
}
else{
billBeforeTip=savedInstanceState.getDouble(BILL_WITHOUT_TIP);
tipAmount=savedInstanceState.getDouble(CURRENT_TIP);
finalBill=savedInstanceState.getDouble(TOTAL_BILL);
}
txtBillBeforeTip = (EditText) findViewById(R.id.txtBill);
txtTipAmount=(EditText) findViewById(R.id.txtTip);
txtFinalBill=(EditText) findViewById(R.id.txtFinal);
txtBillBeforeTip.addTextChangedListener(billBeforeTipListener);
}
private TextWatcher billBeforeTipListener = new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
//TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
//TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
try{
billBeforeTip = Double.parseDouble(s.toString());
}
catch(NumberFormatException e){
billBeforeTip=0.0;
}
UpdateTipAndFinalBill();
}
};
protected void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
outState.putDouble(TOTAL_BILL, finalBill);
outState.putDouble(CURRENT_TIP, tipAmount);
outState.putDouble(BILL_WITHOUT_TIP, billBeforeTip);
}
private void UpdateTipAndFinalBill(){
double tipAmount = Double.parseDouble(txtTipAmount.getText().toString());
double finalBill = billBeforeTip + (billBeforeTip*tipAmount);
txtFinalBill.setText(String.format("%.02f",finalBill));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.tip_calc, menu);
return true;
}
}
activity_tip_calc.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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TipCalc" >
<TextView
android:id="@+id/tvBill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="19dp"
android:layout_marginTop="14dp"
android:text="@string/bill_text_view" />
<TextView
android:id="@+id/tvFinal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/txtBill"
android:layout_below="@+id/txtBill"
android:layout_marginRight="24dp"
android:layout_marginTop="18dp"
android:text="@string/final_text_view" />
<EditText
android:id="@+id/txtFinal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvFinal"
android:layout_alignBottom="@+id/tvFinal"
android:layout_alignRight="@+id/txtTip"
android:layout_marginRight="25dp"
android:ems="6"
android:inputType="numberDecimal"
android:text="@string/final_bill_edit_text" />
<TextView
android:id="@+id/tvTip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/tvFinal"
android:layout_centerHorizontal="true"
android:text="@string/tip_text_view" />
<EditText
android:id="@+id/txtTip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvTip"
android:layout_alignBottom="@+id/tvTip"
android:layout_toRightOf="@+id/tvTip"
android:ems="5"
android:inputType="numberDecimal"
android:text="@string/tip_edit_text"
android:textSize="16sp" />
<EditText
android:id="@+id/txtBill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tvBill"
android:layout_alignBottom="@+id/tvBill"
android:layout_toRightOf="@+id/tvBill"
android:ems="5"
android:inputType="numberDecimal"
android:text="@string/bill_edit_text"
android:textSize="16sp" />
</RelativeLayout>
LogCat
11-04 01:24:10.403: D/AndroidRuntime(1050): Shutting down VM
11-04 01:24:10.403: W/dalvikvm(1050): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-04 01:24:10.543: E/AndroidRuntime(1050): FATAL EXCEPTION: main
11-04 01:24:10.543: E/AndroidRuntime(1050): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.troysantry.tipcalculator/com.troysantry.tipcalculator.TipCalc}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.os.Looper.loop(Looper.java:137)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.ActivityThread.main(ActivityThread.java:5103)
11-04 01:24:10.543: E/AndroidRuntime(1050): at java.lang.reflect.Method.invokeNative(Native Method)
11-04 01:24:10.543: E/AndroidRuntime(1050): at java.lang.reflect.Method.invoke(Method.java:525)
11-04 01:24:10.543: E/AndroidRuntime(1050): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-04 01:24:10.543: E/AndroidRuntime(1050): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-04 01:24:10.543: E/AndroidRuntime(1050): at dalvik.system.NativeStart.main(Native Method)
11-04 01:24:10.543: E/AndroidRuntime(1050): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:24:10.543: E/AndroidRuntime(1050): at com.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:45)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.Activity.performCreate(Activity.java:5133)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-04 01:24:10.543: E/AndroidRuntime(1050): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-04 01:24:10.543: E/AndroidRuntime(1050): ... 11 more
11-04 01:29:11.177: I/Process(1050): Sending signal. PID: 1050 SIG: 9
11-04 01:31:32.080: D/AndroidRuntime(1109): Shutting down VM
11-04 01:31:32.080: W/dalvikvm(1109): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-04 01:31:32.194: E/AndroidRuntime(1109): FATAL EXCEPTION: main
11-04 01:31:32.194: E/AndroidRuntime(1109): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.troysantry.tipcalculator/com.troysantry.tipcalculator.TipCalc}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.os.Looper.loop(Looper.java:137)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.ActivityThread.main(ActivityThread.java:5103)
11-04 01:31:32.194: E/AndroidRuntime(1109): at java.lang.reflect.Method.invokeNative(Native Method)
11-04 01:31:32.194: E/AndroidRuntime(1109): at java.lang.reflect.Method.invoke(Method.java:525)
11-04 01:31:32.194: E/AndroidRuntime(1109): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-04 01:31:32.194: E/AndroidRuntime(1109): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-04 01:31:32.194: E/AndroidRuntime(1109): at dalvik.system.NativeStart.main(Native Method)
11-04 01:31:32.194: E/AndroidRuntime(1109): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 01:31:32.194: E/AndroidRuntime(1109): at com.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:44)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.Activity.performCreate(Activity.java:5133)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-04 01:31:32.194: E/AndroidRuntime(1109): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-04 01:31:32.194: E/AndroidRuntime(1109): ... 11 more
11-04 01:36:33.195: I/Process(1109): Sending signal. PID: 1109 SIG: 9
11-04 02:11:09.684: D/AndroidRuntime(1167): Shutting down VM
11-04 02:11:09.684: W/dalvikvm(1167): threadid=1: thread exiting with uncaught exception (group=0x41465700)
11-04 02:11:09.855: E/AndroidRuntime(1167): FATAL EXCEPTION: main
11-04 02:11:09.855: E/AndroidRuntime(1167): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.troysantry.tipcalculator/com.troysantry.tipcalculator.TipCalc}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.os.Looper.loop(Looper.java:137)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.ActivityThread.main(ActivityThread.java:5103)
11-04 02:11:09.855: E/AndroidRuntime(1167): at java.lang.reflect.Method.invokeNative(Native Method)
11-04 02:11:09.855: E/AndroidRuntime(1167): at java.lang.reflect.Method.invoke(Method.java:525)
11-04 02:11:09.855: E/AndroidRuntime(1167): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-04 02:11:09.855: E/AndroidRuntime(1167): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-04 02:11:09.855: E/AndroidRuntime(1167): at dalvik.system.NativeStart.main(Native Method)
11-04 02:11:09.855: E/AndroidRuntime(1167): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
11-04 02:11:09.855: E/AndroidRuntime(1167): at com.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:44)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.Activity.performCreate(Activity.java:5133)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-04 02:11:09.855: E/AndroidRuntime(1167): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-04 02:11:09.855: E/AndroidRuntime(1167): ... 11 more
versuchen Sie zum ausführen der Anwendung nach dem löschen des Projektes von der Projekt->Sauber
Sie könnten versuchen, reinigen Sie und erstellen Sie das Projekt, und die app neu starten ?
Ich Stimme mit @ρяσѕρєяK, ich versuchte Ihren code, und es scheint einwandfrei zu funktionieren.
Sie könnten versuchen, reinigen Sie und erstellen Sie das Projekt, und die app neu starten ?
Ich Stimme mit @ρяσѕρєяK, ich versuchte Ihren code, und es scheint einwandfrei zu funktionieren.
InformationsquelleAutor user2951727 | 2013-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verursacht durch:
java.lang.ClassCastException: android.widget.TextView
kann nicht gewirkt werden, umandroid.widget.EditText
in
com.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:45)
LogCat ist dein Freund.
Haben Sie eine TextView im layout, jedoch in Ihrem code, den Sie versuchen, drehen Sie es in ein EditText.
Nach re-Lektüre Ihrer code, es scheint nicht ein problem zu sein, bitte versuchen Sie die Reinigung Ihres Projekts.
R.id.txtBill, R.id.txtTip, R.id.txtFinal
alle ids von editText nurÜberprüfen Sie bitte in Zeile 45 TipCalc.java
InformationsquelleAutor Matt Clark
Aus meiner Erfahrung, Es ist ein problem mit
RelativeLayout
. Ich weiß nicht, was ist das problem, aber folgende 2 Lösungen für mich gearbeitet.RelativeLayout
zuLinearLayout
(Dieser muss zum entfernen von relativen Parametern auch. Und eine faire Arbeit zu organisieren-Ansichten).Yup,sollte Es funktionieren. Aber ich weiß nicht, manchmal ist es nicht.
Du hast Recht... sauber funktionierte nicht, aber die verändern sich relativ zu der linearen es behoben..
InformationsquelleAutor Nizam
Haben Sie wahrscheinlich eine
TextView
in Ihrem layout und verwenden Sie eineEditText
im code.InformationsquelleAutor L. G.
Ich hatte das gleiche problem. Es wurde behoben, durch ausführen
ant clean; ant debug
.Dieser Fehler trat auf, wenn ich Sie modifiziert habe
res/layout/main.xml
und sofort tunant debug
.InformationsquelleAutor Wu Yongzheng