gpt4 book ai didi

java - 学习调试

转载 作者:行者123 更新时间:2023-12-02 06:17:55 25 4
gpt4 key购买 nike

早上好,

我正在学习调试应用程序,并创建了一个测试应用程序,该应用程序返回“不幸的是,学习 Activity 已停止”。当我按下应用程序中的按钮时显示消息。

该应用程序非常基本......本质上,您在 EditText 字段中输入文本,然后按下按钮,它应该启动第二个 Activity ,在 TextView 字段中显示该文本。一旦我按下按钮,我就会收到错误。

我已经在上面运行了一个 logcat,并且正在寻求一些帮助来理解我到底在看什么。

01-22 11:26:11.877: E/AndroidRuntime(23917): FATAL EXCEPTION: main
01-22 11:26:11.877: E/AndroidRuntime(23917): Process: com.rcd.learningactivities, PID: 23917
01-22 11:26:11.877: E/AndroidRuntime(23917): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rcd.learningactivities/com.rcd.learningactivities.secondActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x0
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2190)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.ActivityThread.access$700(ActivityThread.java:139)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1411)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.os.Handler.dispatchMessage(Handler.java:102)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.os.Looper.loop(Looper.java:137)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.ActivityThread.main(ActivityThread.java:5083)
01-22 11:26:11.877: E/AndroidRuntime(23917): at java.lang.reflect.Method.invokeNative(Native Method)
01-22 11:26:11.877: E/AndroidRuntime(23917): at java.lang.reflect.Method.invoke(Method.java:515)
01-22 11:26:11.877: E/AndroidRuntime(23917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
01-22 11:26:11.877: E/AndroidRuntime(23917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
01-22 11:26:11.877: E/AndroidRuntime(23917): at dalvik.system.NativeStart.main(Native Method)
01-22 11:26:11.877: E/AndroidRuntime(23917): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.content.res.Resources.getText(Resources.java:244)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.widget.TextView.setText(TextView.java:3899)
01-22 11:26:11.877: E/AndroidRuntime(23917): at com.rcd.learningactivities.secondActivity.onCreate(secondActivity.java:16)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.Activity.performCreate(Activity.java:5260)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
01-22 11:26:11.877: E/AndroidRuntime(23917): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2154)
01-22 11:26:11.877: E/AndroidRuntime(23917): ... 11 more

任何帮助将不胜感激!

如果任何其他信息有帮助,请告诉我...如果您能够为我指出正确的方向,以及我应该在哪里解决问题,那就太棒了。

谢谢!

编辑:

这是我的第二个Activity.java

package com.rcd.learningactivities;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class secondActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondactivity);

TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(getIntent().getExtras().getShort("tbtext"));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

这是我的 secondaryactivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />

</LinearLayout>

最佳答案

调试的一大要素是能够对日志文件的垃圾进行排序并找到与您相关的信息。通常,这是描述您编写的应用程序的任何部分的日志的任何部分。在这种情况下,这就是此处的这一行:

01-22 11:26:11.877: E/AndroidRuntime(23917):    at com.rcd.learningactivities.secondActivity.onCreate(secondActivity.java:16)

看起来 src/com/rcd/learningactivities/secondActivity 中第 16 行发生的任何事情都失败了,因为它找不到资源(我假设它找不到 TextView。看看代码并将其与相应的 XML 进行比较。ID 是否匹配?您是否在 Java 中调用了正确的方法来以编程方式写入 TextView ?您是否在 XML 中正确构建了 TextView 对象?)

可能有很多原因导致它无法正常工作,但找到它的关键在于第二个 Activity Java 文件的第 16 行。祝你好运,狩猎愉快!

关于java - 学习调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288592/

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