Java 活动未从Android SDK中的其他类读取意图

Java 活动未从Android SDK中的其他类读取意图,java,android,android-intent,Java,Android,Android Intent,我认为DisplayMessageActivity类应该通过MainActivity类的意图读取额外的消息字符串(常量)。 public class DisplayMessageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { //..code String message = getInt

我认为DisplayMessageActivity类应该通过MainActivity类的意图读取额外的消息字符串(常量)。

public class DisplayMessageActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //..code    
        String message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE);
        //..code    
    }
}
尽管如此,它并没有这样做

Android SDK表示无法解析符号:“额外消息”和“文本视图”。关于如何解决这个问题的想法——以及未来如何思考这个问题


这里还有一个。

您需要在
MainActivity
中将该常量定义为

 public static final String EXTRA_MESSAGE = "extra_message";
这样,在
DisplayMessageActivity
中,您就可以访问
static
常量

String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
main活动

public class MainActivity extends AppCompatActivity {

    public static final String EXTRA_MESSAGE = "extra_message";
    // static : accessed by class name
    // final : value cannot be changed  

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

}
DisplayMessageActivity

public class DisplayMessageActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //..code    
        String message = getIntent().getStringExtra(MainActivity.EXTRA_MESSAGE);
        //..code    
    }
}

您可以定义一个全局变量

public static final String EXTRA_MESSAGE = "Message";
intent.putExtra(EXTRA_MESSAGE,value);
并且可以在其他活动中通过-

String getMessage= intent.getStringExtra(YourActivity.EXTRA_MESSAGE);

就这样。

人们会开始给出否决投票的理由吗,这样我就可以知道如何更好地写我的问题了?除非你告诉我出了什么问题,否则我无法提供任何帮助…你试图用代码等解释问题,尽管下次添加完整的错误详细信息,或者在这些情况下添加快照(以及这里的代码),尽管你正在学习(就像我们一样),所以有时成员可能会有不同的观点,所以最好是通过接受它来专注于学习,使用谷歌,避免批评,是的,有时你倾向于看到没有任何评论的反对票。我想我用Alt+Enter函数删除了我的常量定义。谢谢你指出这一点。现在我需要弄清楚textView符号是怎么回事…@AaronBell我很高兴能帮上忙,抱歉回复晚了,耽误了一些工作,关于textView,只要确保您有正确的
id
,布局和成功的构建完成,让我知道仍然存在问题