简体   繁体   中英

Eclipse : Unfortunately (App) has stopped

I created a basic Calculator using eclipse on API level 14.

However, I'm getting a Force Close in AVD ("Unfortunately Calculator has stopped")

Here's the logcat:

07-23 22:23:26.954: D/AndroidRuntime(585): Shutting down VM
07-23 22:23:26.954: W/dalvikvm(585): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
07-23 22:23:26.974: E/AndroidRuntime(585): FATAL EXCEPTION: main
07-23 22:23:26.974: E/AndroidRuntime(585): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.Arjan.acalculator/com.Arjan.acalculator.MainActivity}: java.lang.ClassCastException: com.Arjan.acalculator.MainActivity cannot be cast to android.app.Activity
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1879)
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.app.ActivityThread.access$600(ActivityThread.java:122)
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.os.Looper.loop(Looper.java:137)
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.app.ActivityThread.main(ActivityThread.java:4340)
07-23 22:23:26.974: E/AndroidRuntime(585):  at java.lang.reflect.Method.invokeNative(Native Method)
07-23 22:23:26.974: E/AndroidRuntime(585):  at java.lang.reflect.Method.invoke(Method.java:511)
07-23 22:23:26.974: E/AndroidRuntime(585):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-23 22:23:26.974: E/AndroidRuntime(585):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-23 22:23:26.974: E/AndroidRuntime(585):  at dalvik.system.NativeStart.main(Native Method)
07-23 22:23:26.974: E/AndroidRuntime(585): Caused by: java.lang.ClassCastException: com.Arjan.acalculator.MainActivity cannot be cast to android.app.Activity
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
07-23 22:23:26.974: E/AndroidRuntime(585):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1870)
07-23 22:23:26.974: E/AndroidRuntime(585):  ... 11 more
07-23 22:23:30.834: I/Process(585): Sending signal. PID: 585 SIG: 9

Here's the mainactivity file:

`package com.Arjan.acalculator;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
SuppressWarnings("unused")
public class MainActivity extends Activity {
private static final View btn_d = null;
Button   btn_1,btn_2,btn_3,btn_4,btn_5,btn_6,btn_7,btn_8,btn_9,btn_0,btn_eql,btn_div,btn_multi,btn_plus,btn_min;
Button et;
int val1,val2;
boolean add,min,div,multi;
private Object savedInstanceState;
public void onCreate1(Bundle savedInstanceState) {
btn_1=(Button) findViewById(R.id.button1);
btn_2=(Button) findViewById(R.id.button2);
btn_3=(Button) findViewById(R.id.button3);
btn_4=(Button) findViewById(R.id.button5);
btn_5=(Button) findViewById(R.id.button8);
btn_6=(Button) findViewById(R.id.button11);
btn_7=(Button) findViewById(R.id.button6);
btn_8=(Button) findViewById(R.id.button9);
btn_9=(Button) findViewById(R.id.button12);
btn_0=(Button) findViewById(R.id.button7);
btn_eql=(Button) findViewById(R.id.button13);
btn_div=(Button) findViewById(R.id.button16);
btn_plus=(Button) findViewById(R.id.button4);
btn_min=(Button) findViewById(R.id.button14);

btn_multi=(Button) findViewById(R.id.button15);
et= (Button) findViewById(R.id.editText1);

btn_1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
  et.setText(et.getText()+"1");
 }
});
btn_2.setOnClickListener(new View.OnClickListener() {
 @Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"2");
}
});
btn_3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"3");
}
});
btn_4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"4");
}
});
btn_5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"5");
}
});
btn_6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"6");
}
});
btn_7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"7");
}
});
btn_8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"8");
} 
});
btn_9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"9");
}
});
btn_0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+"0");
}
});
btn_d.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
et.setText(et.getText()+".");
}
});

btn_plus.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        val1=Integer.parseInt(et.getText()+"");
        add=true;
        et.setText(null);
        }
        });
        btn_min.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        val1=Integer.parseInt(et.getText()+"");
         min=true;
        et.setText(null);
        }
        });
        btn_div.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
          val1=Integer.parseInt(et.getText()+"");
        div=true;
        et.setText(null);
        }
        });
        btn_multi.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
        val1=Integer.parseInt(et.getText()+"");
        multi=true;
        et.setText(null);
        }
        });

       btn_eql.setOnClickListener(new View.OnClickListener() {

       @Override
       public void onClick(View v) {
        val2=Integer.parseInt(et.getText()+"");
       if (add==true) {
       et.setText(val1+val2+"");
       add=false; 
       }
       if (min==true) {
       et.setText(val1-val2+"");
        min=false; 
       }
       if (multi==true) {
       et.setText(val1*val2+"");
       multi=false; 
       }
       if (div==true) {
        et.setText(val1/val2+"");
       div=false; 
       }
       }

       });


      } 




      @Override
      protected void onCreate(Bundle savedInstanceState) {
      } {
       super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      }








    @Override
       public boolean onOptionsItemSelected(MenuItem item) {
       // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      int id = item.getItemId();
      if (id == R.id.action_settings) {
        return true;
     }
     return super.onOptionsItemSelected(item);
     }
    }

`

You have extended your own activity. either use app.v4 or extend AppCompatActivity . This will work for sure

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM