我对编程总的来说比较新,所以要温柔= |我正在尝试从显示一些文本输入,复选框和按钮的基本活动开始新活动。按下按钮时,我希望它切换到新活动。代码编译但是当我按下Android中的按钮时它只是崩溃。任何帮助将不胜感激。
以下是代码示例:
public class Something extends Activity implements OnClickListener
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
Button login = (Button)findViewById(R.id.login);
login.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
startActivity(new Intent().setClass(Something.this, That.class));
}
}
错误日志:
I / ActivityManager(240):开始活动:Intent { cmp = jano.huerta.sfgc / .HOME} D / AndroidRuntime(13612):关机 VM W / dalvikvm(13612):threadid = 1:线程退出未捕获 异常(组= 0x4 0025a08)E / AndroidRuntime(13612):致命 EXCEPTION:main E / AndroidRuntime(13612):java.lang.RuntimeException: 无法启动活动公司 mponentInfo {jano.huerta.sfgc / jano.huerta.sfgc.HOME}: android.content.ActivityNot FoundException:无法找到显式 活动班{jano.huerta.sfgc / jano.hu erta.sfgc.SUMMARY};有你 在AndroidManifest.xml中声明了这个活动?
E / AndroidRuntime(13612):at android.app.ActivityThread.performLaunchActiv ity(ActivityThread.java:2787)E / AndroidRuntime(13612):at android.app.ActivityThread.handleLaunchActivi ty(ActivityThread.java:2803)E / AndroidRuntime(13612):at android.app.ActivityThread.access $ 2300(Activi tyThread.java:135) E / AndroidRuntime(13612):at android.app.ActivityThread $ H.handleMessage(Ac tivityThread.java:2136) E / AndroidRuntime(13612):at android.os.Handler.dispatchMessage(Handler.ja va:99) E / AndroidRuntime(13612):at android.os.Looper.loop(Looper.java:144)E / AndroidRuntime(13612):
在android.app.ActivityThread.main(ActivityThrea d.java:4937) E / AndroidRuntime(13612):at java.lang.reflect.Method.invokeNative(Native Method) E / AndroidRuntime(13612):at java.lang.reflect.Method.invoke(Method.java:5 21) E / AndroidRuntime(13612):at com.android.internal.os.ZygoteInit $ MethodAndA rgsCaller.run(ZygoteInit.java:868)E / AndroidRuntime(13612):at com.android.internal.os.ZygoteInit.main(Zygot eInit.java:626) E / AndroidRuntime(13612):at dalvik.system.NativeStart.main(原生方法)E / AndroidRuntime(13612):引起: android.content.ActivityNotFoundException:无法找到显式 活动班{jano.huerta.sfgc / jano.huerta.sfgc.SUMMARY};有你 在AndroidManifest.xml中声明了此活动? E / AndroidRuntime(13612):at android.app.Instrumentation.checkStartActivit yResult(Instrumentation.java:1563)E / AndroidRuntime(13612):at android.app.ActivityThread.resolveActivityInf o(ActivityThread.java:2597)E / AndroidRuntime(13612):at android.app.LocalActivityManager.startActivit y(LocalActivityManager.java:277)E / AndroidRuntime(13612):at android.widget.TabHost $ IntentContentStrategy。 getContentView(TabHost.java:651)E / AndroidRuntime(13612):at android.widget.TabHost.setCurrentTab(TabHost.java:323) E / AndroidRuntime(13612):at android.widget.TabHost.addTab(TabHost.java:21 3) E / AndroidRuntime(13612):at jano.huerta.sfgc.HOME.onCreate(HOME.java:23)E / AndroidRuntime(13612): 在android.app.Instrumentation.callActivityOnCre ate(Instrumentation.java:1069)E / AndroidRuntime(13612):at android.app.ActivityThread.performLaunchActiv ity(ActivityThread.java:2751)E / AndroidRuntime(13612):... 11 更多W / ActivityManager(240):强制完成活动 jano.huerta.sfgc / .HOME W / ActivityManager(240):强制完成 活动jano.huerta.sfgc / .SFGC W / ActivityManager(240):活动 HistoryRecord暂停超时{466bbec0 jano .huerta.sfgc / .HOME} D / dalvikvm(406):GC_EXPLICIT在90ms内释放了418个对象/ 26008个字节 I /处理(13612):发送信号。 PID:13612 SIG:9 I / ActivityManager(240):进程jano.huerta.sfgc(pid 13612)有 死了。 I / WindowManager(240):WIN DEATH:Window {466cb800 jano.huerta.sfgc / jano.huerta。 sfgc.SFGC暂停= true} W / ActivityManager(240):活动销毁超时 HistoryRecord {46654450 ja no.huerta.sfgc / .SFGC}
答案 0 :(得分:1)
这里最常见的错误是忘记在AndroidManifest.xml中注册'That'活动。你做到了吗?
此外,如果您从崩溃中粘贴堆栈跟踪,那么帮助您会更容易。您可以通过运行adb logcat
来查看崩溃信息以及其他日志记录。
答案 1 :(得分:0)
<activity>
标记。所有活动必须必须添加到清单文件中。 Android Activity是必须注册的必要Android组件。
该活动已由Android OS启动并销毁。因此,当您致电时,
Intent i = new Intent(this, TargetActivity.class);
startActicvity(i);
然后,操作系统在Manifest.xml
文件中查找活动。如果找不到匹配的活动,则会出现以下错误:
android.content.ActivityNot FoundException:无法找到显式 活动
将此添加到清单文件中。
<activity android:name=".TargetActivity"/>
这是最基本的形式。您可以探索更多HERE