【发布时间】:2012-02-15 18:59:48
【问题描述】:
不是重复的:我的问题比其他所有问题都简单。
我一直在尝试关注android hello world tutorial,但我无法让第一个示例工作。
这是我的代码:
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
如您所见,我直接从教程中复制并粘贴了出来。 问题是,它不是显示 Hello, Android,而是显示 layout/main.xml 文件中的任何内容。如果该文件不存在,它将关闭而不显示任何内容。
为什么这不起作用?
由于我直接从官方文档中复制了这个,我什至不知道从哪里开始尝试调试它。您可以提供的任何指示或建议将不胜感激!
编辑:按要求发布我的 main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, HelloAndroid"
/>
</LinearLayout>
请注意,这是我启动项目时自动创建的,我没有放在那里。
【问题讨论】:
-
如果您已经创建了该文件,这意味着您没有以线性方式遵循本教程或返回到上一步。清理并重新构建您的项目。
-
另外,你也可以发布你的 main.xml 吗?
-
@Brian 我没有创建那个文件;它是在我开始一个新项目时自动创建的。
-
有没有试过在onCreate方法中设置断点,看看是否真的被调用了?据我所见,它应该可以工作。可能您的项目没有正确上传到模拟器。
-
我刚刚用您的代码尝试了您的示例,它似乎正确显示了文本(动态显示,而不是来自 main.xml)。我建议您再次执行这些步骤,并确保您没有遗漏任何内容。