【问题标题】:Alt/Enter to import missing classesAlt/Enter 导入缺失的类
【发布时间】:2016-12-04 16:43:52
【问题描述】:

我在此处运行教程:https://developer.android.com/training/basics/firstapp/starting-activity.html 并在标题为“开始另一个活动”的页面上,标题为“构建意图”的部分

按照说明操作后

在MainActivity.java中,将下图代码添加到sendMessage()

MainActivity.java 看起来像这样:

package com.example.myfirstapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import static android.provider.AlarmClock.EXTRA_MESSAGE;

public class MainActivity extends AppCompatActivity {

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

    /** Called when the user clicks the Send button */
    public void sendMessage(View view) {
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText editText = (EditText) findViewById(R.id.edit_message);
        String message = editText.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        startActivity(intent);
    }
}

然后说明说按 Alt/Enter 导入缺少的类。按下 Alt/Enter 后,代码如下所示(唯一的变化是在导入中):

    package com.example.myfirstapp;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;

    import static android.provider.AlarmClock.EXTRA_MESSAGE;

    public class MainActivity extends AppCompatActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);     package com.example.myfirstapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

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

    /** Called when the user clicks the Send button */
    public void sendMessage(View view) {
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText editText = (EditText) findViewById(R.id.edit_message);
        String message = editText.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        startActivity(intent);
    }
}

    }

    /** Called when the user clicks the Send button */
    public void sendMessage(View view) {
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText editText = (EditText) findViewById(R.id.edit_message);
        String message = editText.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        startActivity(intent);
    }
}

工作室然后说再次按 Alt/Enter(我想解决 EXTRA_MESSAGE)。所以我做了。这会弹出一个对话框来“创建常量字段'EXTRA_MESSAGE'”。但我不知道该赋予它什么价值。

第一次按下 Alt/Enter 不会产生预期的结果。教程说导入应该是这样的:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

现在我很困惑下一步该做什么。

有人可以评论本教程中可能缺少的内容吗?

【问题讨论】:

    标签: android android-studio android-intent android-activity


    【解决方案1】:

    你只需要这样的字符串常量:

    public class MainActivity extends AppCompatActivity {
        public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
    

    您应该使用此常量作为键来放置和检索值。

    同时删除这一行:

    import static android.provider.AlarmClock.EXTRA_MESSAGE;
    

    【讨论】:

    • 我的错误,教程说要输入EXTRA_MESSAGE行,但粗体文本对我来说并不突出,我没有注意到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多