【问题标题】:Eclipse : Unfortunately (App) has stoppedEclipse:不幸的是(应用程序)已停止
【发布时间】:2016-11-27 09:48:54
【问题描述】:

我在 API 级别 14 上使用 Eclipse 创建了一个基本计算器。

但是,我在 AVD 中强制关闭(“不幸的是,计算器已停止”)

这是日志:

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

这是 mainactivity 文件:

`包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);
     }
    }

`

【问题讨论】:

  • 检查您的 MainActivity 是否扩展了 Activity
  • 我是这样扩展的 public class MainActivity extends ActionBarActivity
  • 让我们看看你的活动课
  • 另外,请避免使用 ActionBarAcitivity,因为它已被弃用。请改用 AppCompatActivity、Activity 或 FragmentActivity
  • 我更新了我的 mainactivity 文件,你能告诉我有什么问题吗??

标签: java android eclipse android-emulator


【解决方案1】:

您已经扩展了自己的活动。使用 app.v4 或 extend AppCompatActivity。 这肯定会起作用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 2018-03-23
    • 2015-05-09
    • 2016-11-19
    相关资源
    最近更新 更多