【问题标题】:unfortunately my app has stopped in android emulator?不幸的是,我的应用程序已在 android 模拟器中停止?
【发布时间】:2013-06-26 01:09:00
【问题描述】:

。 - 列表项

我正在做一个应用程序来在数据库中添加和删除员工的数据。 当我运行它时,我收到消息“不幸的是我的应用程序已停止”。请帮我解决这个问题。我的 logcat 显示以下详细信息:

05-21 14:11:45.799: E/AndroidRuntime(527): FATAL EXCEPTION: main
05-21 14:11:45.799: E/AndroidRuntime(527): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.aswathy.nicemployee/com.aswathy.nicemployee.NICemployeeActivity}: java.lang.ClassCastException: com.aswathy.nicemployee.NICemployeeActivity cannot be cast to android.view.View$OnClickListener
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.os.Looper.loop(Looper.java:137)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.ActivityThread.main(ActivityThread.java:4424)
05-21 14:11:45.799: E/AndroidRuntime(527):  at java.lang.reflect.Method.invokeNative(Native Method)
05-21 14:11:45.799: E/AndroidRuntime(527):  at java.lang.reflect.Method.invoke(Method.java:511)
05-21 14:11:45.799: E/AndroidRuntime(527):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-21 14:11:45.799: E/AndroidRuntime(527):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-21 14:11:45.799: E/AndroidRuntime(527):  at dalvik.system.NativeStart.main(Native Method)
05-21 14:11:45.799: E/AndroidRuntime(527): Caused by: java.lang.ClassCastException: com.aswathy.nicemployee.NICemployeeActivity cannot be cast to android.view.View$OnClickListener
05-21 14:11:45.799: E/AndroidRuntime(527):  at com.aswathy.nicemployee.NICemployeeActivity.onCreate(NICemployeeActivity.java:31)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.Activity.performCreate(Activity.java:4465)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
05-21 14:11:45.799: E/AndroidRuntime(527):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
05-21 14:11:45.799: E/AndroidRuntime(527):  ... 11 more

*NICemployeeActivity.java 代码如下:*

 package com.aswathy.nicemployee;
 import android.app.Activity;
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;
 public class NICemployeeActivity extends Activity implements OnClickListener  {
 Button sqlUpdate, sqlView;
 EditText sqlName, sqlDepartment;

/** Called when the activity is first created. */
@Override
 protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      sqlUpdate = (Button) findViewById(R.id.bSQLUpdate);
      sqlName = (EditText) findViewById(R.id.etSQLName);
      sqlDepartment = (EditText) findViewById(R.id.etSQLDepartment);
      sqlView = (Button) findViewById(R.id.bSQLopenView);
      sqlView.setOnClickListener(this);
      sqlUpdate.setOnClickListener(this);
     }
 public void onClick(View arg0) {
    // TODO Auto-generated method stub
      switch (arg0.getId()) {
         case R.id.bSQLUpdate:
         boolean didItWork = true;
         try{
             String name = sqlName.getText().toString();
             String department = sqlDepartment.getText().toString();

             DBemployee entry = new DBemployee(NICemployeeActivity.this);
             entry.open();
             entry.createEntry(name, department);
             entry.close();
        }catch (Exception e)
    {
        didItWork = false;
    }finally{
         if (didItWork){
             Dialog d = new Dialog(this);
             d.setTitle("Heck Yea!");
             TextView tv = new TextView(this);
             tv.setText("sucess");
             d.setContentView(tv);
             d.show();
        }
    }
         break;
         case R.id.bSQLopenView:
         Intent i = new Intent("com.aswathy.nicemployee.NICview");
         startActivity(i);
         break; 
}

}

 public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub

}

}

【问题讨论】:

  • 向我们展示代码 - 特别是 NICemployeeActivityonCreate 方法
  • 您收到 ClassCastException,请同时粘贴您的代码。这将很有帮助。
  • 检查您的清单文件是否缺少活动名称或 ....
  • stackoverflow.com/questions/3202176/… chk 这个链接可能对你有帮助
  • 我也添加了代码。有人请帮助我。

标签: android


【解决方案1】:

看这里

05-21 14:11:45.799: E/AndroidRuntime(527): Caused by: java.lang.ClassCastException: com.aswathy.nicemployee.NICemployeeActivity cannot be cast to android.view.View$OnClickListener
05-21 14:11:45.799: E/AndroidRuntime(527):  at com.aswathy.nicemployee.NICemployeeActivity.onCreate(NICemployeeActivity.java:31)

现在打开您的 NICemployeeActivity.java 文件,并检查第 31 行。您正在将 NICemployeeActivity 类型的对象强制转换为 View,但您不能。

【讨论】:

  • 这不是回答应该是评论
  • 我不同意。有了这些信息,您可以轻松解决问题。您在这里无能为力。我们可以找到一些琐碎的事情,但这并不重要。如果您认为有问题,您可能希望关闭该问题,因为该问题过于本地化或与其他有此问题的问题重复,但这是问题的根源。
  • 感谢您的 cmets。但我仍然无法弄清楚我的问题。我也添加了代码。现在请帮我解决这个问题。
  • 你的代码乱七八糟,> 的人都在做什么?你甚至希望我们帮助你吗?请努力提出您的问题!你看到我说的“检查第 31 行”了吗?你可以提到那条线是哪条线,等等
  • 您确定这是您正在运行的代码行吗?那会很奇怪....
【解决方案2】:

尝试用

导入

android.view.View.OnClickListener 代替 import android.content.DialogInterface;& 导入 android.content.DialogInterface.OnClickListener;

上面的导入可能有问题。

【讨论】:

    【解决方案3】:

    您必须更改 RAM 大小,然后重新启动您的模拟器。

    然后就可以成功了。

    【讨论】:

      【解决方案4】:

      您需要在创建新活动时将活动添加到 manifest.xml 文件中。

      【讨论】:

        猜你喜欢
        • 2014-08-04
        • 2012-07-12
        • 2012-01-08
        • 2014-09-22
        • 1970-01-01
        • 1970-01-01
        • 2014-02-26
        • 1970-01-01
        • 2015-08-10
        相关资源
        最近更新 更多