当前位置: 首页 > 知识库问答 >
问题:

IntelliJ IDEA-v Eclipse中的Android开发(启动活动)

东方文林
2023-03-14

我刚刚开始开发Android项目,我遇到了一个困难。我从开发者网站开始(http://developer.android.com/training/basics/firstapp/index.html)我的问题从开始一项新的活动开始(http://developer.android.com/training/basics/firstapp/starting-activity.html)

该网站期望Eclipse,我怀疑我错过了Eclipse幕后发生的事情,但我使用的是IntelliJ IDEA。

在DisplayMessageActivity中。java我遇到以下错误:

cannot find symbol variable activity_display_message.

在Eclipse示例中,这是一个布局名称。

我包括我的代码,因为它是当我第一次遇到这个问题,而不是我的尝试修复。

显示消息活动:

public class DisplayMessageActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display_message);
    }
}

AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example"
          android:versionCode="1"
          android:versionName="1.0">
    <uses-sdk android:minSdkVersion="13"/>
    <application android:label="@string/app_name" android:icon="@drawable/icon">
        <activity android:name="MyActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".DisplayMessageActivity"
                  android:label="My Message">
                <meta-data android:name="android.support.PARENT_ACTIVITY"
                        android:value="com.example.MainActivity"/>
        </activity>
    </application>
</manifest>

R.java:

package com.example;

public final class R {
    public static final class attr {
    }
    public static final class color {
        public static final int testing_string_color=0x7f040000;
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
    }
    public static final class id {
        public static final int edit_message=0x7f060000;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f050000;
        public static final int button_send=0x7f050002;
        public static final int edit_message=0x7f050001;
        public static final int menu_settings=0x7f050003;
        public static final int title_activity_main=0x7f050004;
    }
}

主要的xml:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
        >
    <EditText android:id="@+id/edit_message"
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:layout_weight="1"
              android:hint="@string/edit_message"/>
    <Button android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/button_send"
            android:onClick="sendMessage"/>

</LinearLayout>

共有3个答案

诸葛雅达
2023-03-14

当遵循该教程但不使用Eclipse时,代码实际上应该是:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the message from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // Create the text view
    TextView textView = new TextView(this);
    textView.setTextSize(40);
    textView.setText(message);

    // Set the text view as the activity layout
    setContentView(textView);
}

带有setContentView的版本(R.layout.activity\u display\u message)是某些Eclipse样板代码的一部分;如果您通过Eclipse添加了该活动,那么它将添加该行以及使该行工作的一些其他支持代码。

习旻
2023-03-14

将setContentView(R.layout.activity_display_message);替换为setContentView(R.layout.main);

只能使用布局文件的名称引用布局。

鄂伟兆
2023-03-14

因为您没有名为activity\u display\u message的XML文件。

如果调用setContentView(R.layout.main),它将引用一个名为main的XML布局文档。xml。如果您使用的是R.layout。活动显示消息,您必须有一个名为活动显示消息的相应布局。如果您的目的是使用main。xmllayout,您应该改为调用setContentView(R.layout.main)

 类似资料:
  • 我已经更改了我想首先运行的活动从主活动到另一个。我通过编辑Android清单并移动这段代码做到了这一点: 我的清单现在是这样的: 当我运行它在我的手机和平板电脑(从android工作室)我得到下面的错误和应用程序不启动自动像以前一样。但是当我点击图标时,它通常首先以正确的活动开始。 但是当我使用模拟器时,正确的活动只在第一次安装时启动,而之前设置的活动则会启动。 我不知道为什么会这样。我完全没有安

  • 我想在Android上启动另一个活动,但出现以下错误: 请指定构造函数调用;分类器Page2没有伴随对象 实例化类后。我应该怎么做来纠正错误?我的代码:

  • Standard 标准模式。每次启动Activity都会创建新的实例。谁启动了这个Activity,那么这个Activity就运行在谁的Task中。不能使用非Activity类型的context启动这种模式的Activity,因为这种context并没有Task,这个时候就可以加一个FLAG_ACTIVITY_NEW_TASK标记位,这个时候启动Activity实际上是以singleTask模式启

  • 问题内容: 上次我在这里问一个问题时,我学到了很多东西,所以我觉得值得尝试一下。 我正在通过以下链接使用Fedor的惰性列表: ListView中的图像延迟加载 它就像一种魅力。但是,Fedor正在扩大他的主班而不是。因此,我不再能够使用listItemClick侦听器。Eclipse在周围声明了一些错误。当我转身时它有效 进入 但是意图启动器不起作用。吐司通知也没有。 当我打开一个,Eclips

  • 自从我将Android Studio从1.5更新到2.1以来,我已经多次遇到以下错误(不总是)。这是“运行”对话框的输出: 但奇怪的是,在logcat中什么也找不到。我真的不知道是什么原因导致了这种情况,因为这个错误并不能说明出了什么问题,除了StartActivity的启动出了问题(自更新以来,我几乎没有改变,甚至根本没有改变)。 我的清单文件: 有人知道如何解决这个问题吗? 编辑: 在我从lo

  • MainFormular.java 在Android.app.activity.performCreate(activity_main_formular 洛克卡特