Android按钮和Intent代码无法编译

时间:2012-02-19 21:32:51

标签: android android-intent

我是Android开发的新手。我有这段代码:

Button btnLaunch;
btnLaunch=(Button)findViewById(R.id.btnLaunch);

我有这些进口商品:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;

但是我的Eclipse突出了红色的“btnLaunch”。这是为什么?我应该手动编辑其中一个配置XML文件,让系统知道btnLaunch吗?它是如何工作的?

此外,当我尝试创建这样的Intent:

      Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
      CurrentActivity.this.startActivity(myIntent);

无法识别CurrentActivity和NextActivity,并且autoComplete不允许我导入它们。我错过了一个包吗?

2 个答案:

答案 0 :(得分:1)

哪个btnLaunch?你有2个,一个是按钮,另一个是整数。我的猜测(来自你提供的有限数量的代码)是你没有为你的按钮声明一个ID。我正确地猜测突出显示的错误与finViewById有关(R.id.btnLaunch

按钮声明看起来像是:

<Button
    android:id="@+id/btnLaunch"
    .
    .
    . />

每当您尝试引用XML文件中声明的soemthing时,您都必须注意ID。在相关的说明中,如果XML文件存在问题,Eclipse将不会生成您的R.java文件,因此也要确保XML中没有错误。

对于第二部分,在Project文件夹中,有一个名为Manifest.xml的文件,在那里,您的应用程序使用的所有活动都需要在那里列出。如果在创建项目后添加了Activties,则可以手动添加其条目。看起来有点像:

<acitvity
    name=".MyActivity" />

根据您的具体需求,您可以添加不同的属性,但这是基本设置。

答案 1 :(得分:1)

第一部分可能是布局xml的错误。确保首先设置正确的布局:

的setContentView(R.layout.nameoflayout);

nameoflayout是xml的名称。

然后你必须有一个具有正确ID的按钮。此ID在所有布局中也必须是唯一的。

第二部分 - 如果你知道类的位置,只需手动添加import语句。这样做的过程应该可以帮助您至少找出它不起作用的原因。