简体   繁体   中英

Android Studio: playing with Intents and sending data between activities

I'm new to Android Studio and Java, currently I'm learning about intents and sending data/text from one activity to another. On the second activity I get "Cannot resolve symbol 'intent'" even though it's in onCreate field. What I'm trying to do is to have two text fields for first and last name, sending the text from first activity to the second one which will read it, and all done with onButtonClick method. I'm only trying to do the first name and the code looks like this MainAcitivty

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

       public class MainActivity extends AppCompatActivity {

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



}

    public void onButtonClicked(View view) {

   EditText nameText = (EditText)findViewById(R.id.firstName);
TextView messageText = (TextView) findViewById(R.id.messageTextView);

   if(nameText.getText().toString().trim().length() == 0){
    messageText.setText("text here");
   } else {

       String textForSecondAcitivity = "your name is: " + nameText.getText();
       Intent intent = new Intent(this, SecondActivity.class);
       intent.putExtra(Intent.EXTRA_TEXT, textForSecondAcitivity);
       startActivity(intent);

`

The problem is the second Activity that gives me the error "Cannot resolve symbol 'intent'". And here is the code:

  import android.content.Intent;
  import android.support.v7.app.AppCompatActivity;
  import android.os.Bundle;
  import android.widget.TextView;

  public class SecondActivity extends AppCompatActivity {

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

    Intent scIntent = getIntent();

    String messageText = intent.getStringExtra("EXTRA_TEXT");
    TextView messageView = (TextView)findViewById(R.id.textView);
    messageView.setText(messageText);

}

It wont show the error here but it's int this line

       String messageText = intent.getStringExtra("EXTRA_TEXT");

I apologize in advance because surely I messed up something bad, I'm a beginner and if you have some advice on what's the best way to do what I'm actually trying to accomplish feel free to tell me.

The app should look like this in the end 1.The first activity 1.The second one showing first name and last name

Here you are making it wrong

       intent.putExtra(Intent.EXTRA_TEXT, textForSecondAcitivity);

instead you use this

       intent.putExtra("EXTRA_TEXT", textForSecondAcitivity);

您没有名为intent局部变量用scIntent替换它

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM