gpt4 book ai didi

java - 当我尝试创建 ListActivity 来访问其他 Activity 时,它只显示 "Unfortunately, ReptileKeeper has stopped"

转载 作者:行者123 更新时间:2023-12-01 04:44:06 24 4
gpt4 key购买 nike

这是我的代码,我希望能够单击子订单的按钮之一,然后进入与子订单匹配的新 Activity 。谁能告诉我为什么它不起作用?

我的菜单类用于访问子订单 Activity :

  package com.xeecros.reptilekeeper;

import android.os.Bundle;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainMenu extends ListActivity {

String suborder[] = {"Serpentes",
"Lacertilia", "Chelonia"};



@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(MainMenu.this,
android.R.layout.simple_list_item_1, suborder));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

super.onListItemClick(l, v, position, id);
String localposm = suborder[position];
try{
Class ourclass = Class.forName("com.xeecros.reptilekeeper." + localposm);
Intent mintent = new Intent(MainMenu.this, ourclass);
startActivity(mintent);
}catch (ClassNotFoundException e){
e.printStackTrace();
}

}

我希望它能够访问我的 Serpentes 子目 Activity :

 package com.xeecros.reptilekeeper;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Serpentes extends ListActivity {

String snakefam[] = {"Boidae", "Colubridae",
"Elapidae", "Pythonidae", "Viperidae"};
@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(Serpentes.this,
android.R.layout.simple_list_item_1, snakefam));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {

super.onListItemClick(l, v, position, id);
try{
Class ourclass = Class.forName("com.xeecros.reptilekeeper.MainMenu");
Intent sintent = new Intent(Serpentes.this, ourclass);
startActivity(sintent);
}catch (ClassNotFoundException e){
e.printStackTrace();
}
}

}

非常感谢您的帮助,非常感谢。

我的日志猫:

 04-19 19:52:35.731: I/Process(1316): Sending signal. PID: 1316 SIG: 9
04-19 19:59:41.911: D/dalvikvm(1397): GC_FOR_ALLOC freed 44K, 6% free 2655K/2820K, paused 38ms, total 40ms
04-19 19:59:41.921: I/dalvikvm-heap(1397): Grow heap (frag case) to 3.780MB for 1127536-byte allocation
04-19 19:59:41.971: D/dalvikvm(1397): GC_FOR_ALLOC freed 2K, 5% free 3754K/3924K, paused 42ms, total 42ms
04-19 19:59:42.021: D/dalvikvm(1397): GC_CONCURRENT freed <1K, 5% free 3757K/3924K, paused 4ms+12ms, total 52ms
04-19 19:59:42.251: D/gralloc_goldfish(1397): Emulator without GPU emulation detected.
04-19 19:59:58.691: D/AndroidRuntime(1397): Shutting down VM
04-19 19:59:58.691: W/dalvikvm(1397): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
04-19 19:59:58.721: E/AndroidRuntime(1397): FATAL EXCEPTION: main
04-19 19:59:58.721: E/AndroidRuntime(1397): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.xeecros.reptilekeeper/com.xeecros.reptilekeeper.Serpentes}; have you declared this activity in your AndroidManifest.xml?
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1618)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.Activity.startActivityForResult(Activity.java:3370)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.Activity.startActivityForResult(Activity.java:3331)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.Activity.startActivity(Activity.java:3566)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.Activity.startActivity(Activity.java:3534)
04-19 19:59:58.721: E/AndroidRuntime(1397): at com.xeecros.reptilekeeper.MainMenu.onListItemClick(MainMenu.java:35)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.widget.AbsListView.performItemClick(AbsListView.java:1100)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2749)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.widget.AbsListView$1.run(AbsListView.java:3423)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.os.Handler.handleCallback(Handler.java:725)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.os.Handler.dispatchMessage(Handler.java:92)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.os.Looper.loop(Looper.java:137)
04-19 19:59:58.721: E/AndroidRuntime(1397): at android.app.ActivityThread.main(ActivityThread.java:5041)
04-19 19:59:58.721: E/AndroidRuntime(1397): at java.lang.reflect.Method.invokeNative(Native Method)
04-19 19:59:58.721: E/AndroidRuntime(1397): at java.lang.reflect.Method.invoke(Method.java:511)
04-19 19:59:58.721: E/AndroidRuntime(1397): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-19 19:59:58.721: E/AndroidRuntime(1397): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-19 19:59:58.721: E/AndroidRuntime(1397): at dalvik.system.NativeStart.main(Native Method)
04-19 20:00:02.481: I/Process(1397): Sending signal. PID: 1397 SIG: 9

最佳答案

每个 Activity 都必须在 list 文件中注册。看来你还没有做到这一点。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
... >

<application
... >
<activity
android:name=".YourActivity"
... />
</application>
</manifest>

关于java - 当我尝试创建 ListActivity 来访问其他 Activity 时,它只显示 "Unfortunately, ReptileKeeper has stopped",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com