5

प्रारंभ करने में अक्षम मेरे समस्या यह है कि जब मैं एंड्रॉयड एमुलेटर पर मेरे अनुप्रयोग चलाने के अनुप्रयोग प्रारंभ हो जाता है लेकिन जल्दी दुर्घटनाओं और पॉपअप प्रदर्शित करता है: "दुर्भाग्य से, TipCalculator बंद कर दिया है।" मैंने कोड को देखा है और जवाब के लिए पूरी तरह से इंटरनेट की खोज की है। हाँ मैं एंड्रॉइड विकास में एक नया हूँ। मैंने लॉगकैट द्वारा जेनरेट की गई त्रुटियों को देखा है लेकिन मुझे पता नहीं है कि समस्या को नहीं पता और मुझे प्राप्त त्रुटियों के आधार पर कहां मिलना है।एंड्रॉयड - गंभीर अपवाद: - मुख्य गतिविधि ComponentInfo

यहाँ मेरी कोड है:

TipCalc.java

पैकेज 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 
+4

परियोजना से साफ़ करने के बाद आवेदन चलाने का प्रयास करें-> स्वच्छ –

+0

क्या आप प्रोजेक्ट को साफ और निर्माण करने का प्रयास कर सकते हैं, और ऐप को फिर से लॉन्च कर सकते हैं? –

+0

मैं @ ρяσѕρєяK से सहमत हूं, मैंने आपके कोड की कोशिश की और ऐसा लगता है कि यह ठीक काम कर रहा है। – blitzen12

उत्तर

4

की वजह से: java.lang.ClassCastException: android.widget.TextViewcom.troysantry.tipcalculator.TipCalc.onCreate(TipCalc.java:45)

में android.widget.EditText

में ढाला नहीं जा सकता

लॉगकैट आपका मित्र है।

हालांकि, अपने कोड में, अपने लेआउट में एक TextView है, तो आप यह एक EditText में बदल जाने की कोशिश कर रहे हैं।

अपना कोड पुनः पढ़ने के बाद, वहाँ एक समस्या है, अपनी परियोजना सफाई प्रयास करें प्रकट नहीं होता है।

परियोजना -> स्वच्छ

+3

'R.id.txtBill, R.id.txtTip, R.id.txtFinal' editText के सभी आईडी केवल – Raghunandan

+0

TipCalc.java – harris

0

आप शायद अपने लेआउट में एक TextView है और आप अपने कोड में किसी EditText का उपयोग करें।

11-04 01:24:10.543: E/AndroidRuntime(1050): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText 
+2

R.id.txtBill, R.id.txtTip में लाइन की जांच करें 45, R.id.txtFinal editText के सभी आईडी केवल मैं भी एक गलती यह पोस्टिंग एक जवाब से पहले किए गए इसे हटाकर – Raghunandan

3

मेरे अनुभव से, यह RelativeLayout साथ एक समस्या है। मुझे नहीं पता कि समस्या क्या है, लेकिन मेरे लिए 2 समाधानों का पालन किया गया।

  1. स्वच्छ अपनी परियोजना और फिर से चलाने के। यदि यह सफल नहीं है, तो
  2. RelativeLayout से LinearLayout (इसे सापेक्ष विशेषताओं को भी हटाने की आवश्यकता है। और विचारों को व्यवस्थित करने के लिए एक उचित कार्य)।
+0

"लीनियरलाउट को रिलेवेटिव लेआउट बदलें"। रिश्तेदार लेआउट के साथ क्या गलत है। उसकी कोई ज़रूरत नहीं। स्वच्छ और निर्माण काम करना चाहिए – Raghunandan

+0

@Raghunandan: हाँ, यह काम करना चाहिए। लेकिन मैं नहीं जानता कि, कभी कभी यह नहीं करता है। – Nizam

+0

@Nizam आप सही ... स्वच्छ काम नहीं किया लेकिन रिश्तेदार से बदल रहा है यह तय करने के लिए रेखीय हैं .. –

0

मैं एक ही समस्या थी। यह ant clean; ant debug चलाकर तय किया गया था।

यह त्रुटि तब हुई जब मैंने res/layout/main.xml संशोधित किया और तुरंत ant debug किया।

संबंधित मुद्दे