不幸的是,该应用程序停止了Android
这是代码。它在控制台中没有给出任何错误。我做了另一个活动类测试_me.java。当我点击对话框选项时,它给出了一个错误“不幸的是,应用程序停止工作”。请告诉我这里有什么问题不幸的是,该应用程序停止了Android,android,android-emulator,Android,Android Emulator,这是代码。它在控制台中没有给出任何错误。我做了另一个活动类测试_me.java。当我点击对话框选项时,它给出了一个错误“不幸的是,应用程序停止工作”。请告诉我这里有什么问题 public class TestActivity extends Activity { Context context=this; Intent testIntent; Intent progIntent; Intent settingIntent; In
public class TestActivity extends Activity {
Context context=this;
Intent testIntent;
Intent progIntent;
Intent settingIntent;
Intent resultIntent; public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
Button b1 = (Button)findViewById(R.id.button1);
b1.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
if(v.getId()==R.id.button1)
{ final CharSequence[] items = {"Test", "ProgMode", "Settings","Result"};
AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setTitle("Menu Options")
.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(items[item]=="Test")
{testIntent = new Intent(TestActivity.this, test_me.class);
startActivity(testIntent);
}
else if(items[item]=="ProgMode")
{progIntent = new Intent(TestActivity.this,prog_mode.class);
startActivity(progIntent);
}
else if(items[item]=="Settings")
{settingIntent = new Intent(TestActivity.this,setting_mode.class);
startActivity(settingIntent);
}
else if(items[item]=="Results")
{
resultIntent = new Intent(TestActivity.this,result_mode.class);
startActivity(resultIntent);
}
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("Back",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
}
这是日志
06-07 17:44:15.598: I/dalvikvm(654): threadid=3: reacting to signal 3
06-07 17:44:15.978: I/dalvikvm(654): Wrote stack traces to '/data/anr/traces.txt'
06-07 17:44:16.088: I/dalvikvm(654): threadid=3: reacting to signal 3
06-07 17:44:16.148: I/dalvikvm(654): Wrote stack traces to '/data/anr/traces.txt'
06-07 17:44:16.538: D/android.widget.GridLayout(654): vertical constraints: y3 - y0 > 637, y1 - y0 > 129, y2 - y1 > 135, y3 - y0 < 618 are inconsistent; permanently removing: y3 - y0 < 618.
06-07 17:44:16.608: I/dalvikvm(654): threadid=3: reacting to signal 3
06-07 17:44:16.638: I/dalvikvm(654): Wrote stack traces to '/data/anr/traces.txt'
06-07 17:44:16.858: D/gralloc_goldfish(654): Emulator without GPU emulation detected.
06-07 17:44:17.108: I/dalvikvm(654): threadid=3: reacting to signal 3
06-07 17:44:17.139: I/dalvikvm(654): Wrote stack traces to '/data/anr/traces.txt'
06-07 17:44:21.638: D/AndroidRuntime(654): Shutting down VM
06-07 17:44:21.638: W/dalvikvm(654): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
06-07 17:44:21.688: E/AndroidRuntime(654): FATAL EXCEPTION: main
06-07 17:44:21.688: E/AndroidRuntime(654): android.content.ActivityNotFoundException: Unable to find explicit activity class {achira.test/achira.test.test_me}; have you declared this activity in your AndroidManifest.xml?
06-07 17:44:21.688: E/AndroidRuntime(654): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1508)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.app.Activity.startActivityForResult(Activity.java:3190)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.app.Activity.startActivity(Activity.java:3297)
06-07 17:44:21.688: E/AndroidRuntime(654): at achira.test.AchActivity$1$1.onClick(AchActivity.java:84)
06-07 17:44:21.688: E/AndroidRuntime(654): at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:924)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.widget.AdapterView.performItemClick(AdapterView.java:292)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.widget.AbsListView.performItemClick(AbsListView.java:1058)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.widget.AbsListView$1.run(AbsListView.java:3168)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.os.Handler.handleCallback(Handler.java:605)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.os.Handler.dispatchMessage(Handler.java:92)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.os.Looper.loop(Looper.java:137)
06-07 17:44:21.688: E/AndroidRuntime(654): at android.app.ActivityThread.main(ActivityThread.java:4424)
06-07 17:44:21.688: E/AndroidRuntime(654): at java.lang.reflect.Method.invokeNative(Native Method)
06-07 17:44:21.688: E/AndroidRuntime(654): at java.lang.reflect.Method.invoke(Method.java:511)
06-07 17:44:21.688: E/AndroidRuntime(654): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-07 17:44:21.688: E/AndroidRuntime(654): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-07 17:44:21.688: E/AndroidRuntime(654): at dalvik.system.NativeStart.main(Native Method)
06-07 17:44:22.349: I/dalvikvm(654): threadid=3: reacting to signal 3
06-07 17:44:22.388: I/dalvikvm(654): Wrote stack traces to '/data/anr/traces.txt'
06-07 17:44:24.118: I/Process(654): Sending signal. PID: 654 SIG: 9
06-07 17:44:15.598:I/dalvikvm(654):threadid=3:对信号3作出反应
06-07 17:44:15.978:I/dalvikvm(654):将堆栈跟踪写入“/data/anr/traces.txt”
06-07 17:44:16.088:I/dalvikvm(654):线程ID=3:对信号3作出反应
06-07 17:44:16.148:I/dalvikvm(654):将堆栈跟踪写入“/data/anr/traces.txt”
06-07 17:44:16.538:D/android.widget.GridLayout(654):垂直约束:y3-y0>637,y1-y0>129,y2-y1>135,y3-y0<618不一致;永久移除:y3-y0<618。
06-07 17:44:16.608:I/dalvikvm(654):线程ID=3:对信号3作出反应
06-07 17:44:16.638:I/dalvikvm(654):将堆栈跟踪写入“/data/anr/traces.txt”
06-07 17:44:16.858:D/gralloc_金鱼(654):未检测到GPU仿真的仿真器。
06-07 17:44:17.108:I/dalvikvm(654):线程ID=3:对信号3作出反应
06-07 17:44:17.139:I/dalvikvm(654):将堆栈跟踪写入“/data/anr/traces.txt”
06-07 17:44:21.638:D/AndroidRuntime(654):关闭虚拟机
06-07 17:44:21.638:W/dalvikvm(654):threadid=1:线程以未捕获异常退出(组=0x409c01f8)
06-07 17:44:21.688:E/AndroidRuntime(654):致命异常:主
06-07 17:44:21.688:E/AndroidRuntime(654):android.content.ActivityNotFoundException:找不到显式活动类{achira.test/achira.test.test};您是否在AndroidManifest.xml中声明了此活动?
06-07 17:44:21.688:E/AndroidRuntime(654):在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1508)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.app.Activity.startActivityForResult(Activity.java:3190)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.app.Activity.startActivity(Activity.java:3297)
06-07 17:44:21.688:E/AndroidRuntime(654):在achira.test.AchActivity$1$1.onClick(AchActivity.java:84)
06-07 17:44:21.688:E/AndroidRuntime(654):在com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:924)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.widget.AdapterView.performItemClick(AdapterView.java:292)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.widget.AbsListView.performItemClick(AbsListView.java:1058)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.widget.AbsListView$1.run(AbsListView.java:3168)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.os.Handler.handleCallback(Handler.java:605)上
06-07 17:44:21.688:E/AndroidRuntime(654):位于android.os.Handler.dispatchMessage(Handler.java:92)
06-07 17:44:21.688:E/AndroidRuntime(654):在android.os.Looper.loop(Looper.java:137)
06-07 17:44:21.688:E/AndroidRuntime(654):位于android.app.ActivityThread.main(ActivityThread.java:4424)
06-07 17:44:21.688:E/AndroidRuntime(654):位于java.lang.reflect.Method.Invokenactive(本机方法)
06-07 17:44:21.688:E/AndroidRuntime(654):在java.lang.reflect.Method.invoke(Method.java:511)
06-07 17:44:21.688:E/AndroidRuntime(654):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-07 17:44:21.688:E/AndroidRuntime(654):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-07 17:44:21.688:E/AndroidRuntime(654):在dalvik.system.NativeStart.main(本机方法)
06-07 17:44:22.349:I/dalvikvm(654):线程ID=3:对信号3作出反应
06-07 17:44:22.388:I/dalvikvm(654):将堆栈跟踪写入“/data/anr/traces.txt”
06-07 17:44:24.118:I/进程(654):发送信号。PID:654信号:9
我认为
Context context=TestActivity.this;
应该一经创建就进来
同时关闭您的对话框
重置adb或重新启动模拟器,您将在logcat中获得错误
你的logcat说
E/AndroidRuntime(654): android.content.ActivityNotFoundException: Unable to find explicit activity class {achira.test/achira.test.test_me}; have you declared this activity in your AndroidManifest.xml?
这意味着您尚未在清单中声明您的活动
在应用程序标记中声明如下活动
<activity
android:name=".test_me"
android:label="@string/app_name">
</activity>
我认为
Context context=TestActivity.this;
应该一经创建就进来
同时关闭您的对话框
重置adb或重新启动模拟器,您将在logcat中获得错误
你的logcat说
E/AndroidRuntime(654): android.content.ActivityNotFoundException: Unable to find explicit activity class {achira.test/achira.test.test_me}; have you declared this activity in your AndroidManifest.xml?
这意味着您尚未在清单中声明您的活动
在应用程序标记中声明如下活动
<activity
android:name=".test_me"
android:label="@string/app_name">
</activity>
我有类似问题的经验。如果您正在创建上下文变量,请随时随地使用它。即使是为了祝酒,也不要编写getApplicationContext()。并在oncreate(){}内更改上下文变量,如下所示
将上下文声明为类级变量我有过类似问题的经验。如果您正在创建上下文变量,请随时随地使用它。即使是为了祝酒,也不要编写getApplicationContext()。并在oncreate(){}内更改上下文变量,如下所示
将上下文声明为类级变量按singleChoiceButton后,您不会取消对话框。调用
dialog.cancel()
在onClick
方法中的每个startActivity()
语句之后。按singleChoiceButton后,您不会取消对话框。在onClick
方法中的每个startActivity()
语句之后调用dialog.cancel()
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
只需评论或删除此语句
只需注释或删除此语句…在代码中做2处更改
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
改为
Toast.makeText(TestActivity .this, items[item], Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(TestActivity .this)
及
改为
Toast.makeText(TestActivity .this, items[item], Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(TestActivity .this)
在代码中做2个更改
Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
改为
Toast.makeText(TestActivity .this, items[item], Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(TestActivity .this)
及
改为
Toast.makeText(TestActivity .this, items[item], Toast.LENGTH_SHORT).show();
AlertDialog.Builder builder = new AlertDialog.Builder(TestActivity .this)
将类test_me.java添加到您的清单中,它应该在之后工作。将类test_me.java添加到您的清单中,它应该在之后工作