将用户输入从mainactivity传递到eclipse中的第二个活动

将用户输入从mainactivity传递到eclipse中的第二个活动,eclipse,android-activity,user-input,Eclipse,Android Activity,User Input,我是全新的,但我已经成功地创建了一个功能按钮。 我正在尝试将用户输入(activity_main上的editText1)传递给Recipe(我的第二个活动)。第一个代码是我的功能按钮。在第二轮代码中,我试图传递要在第二个活动布局上显示的信息,但我做错了什么 package com.example.andrew; import android.os.Bundle; import android.app.Activity; import android.content.Intent; i

我是全新的,但我已经成功地创建了一个功能按钮。 我正在尝试将用户输入(activity_main上的editText1)传递给Recipe(我的第二个活动)。第一个代码是我的功能按钮。在第二轮代码中,我试图传递要在第二个活动布局上显示的信息,但我做错了什么

 package com.example.andrew;

 import android.os.Bundle;
 import android.app.Activity;
 import android.content.Intent;
 import android.view.Menu;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Button;

 public class MainActivity extends Activity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       Button b=(Button) findViewById(R.id.button1);
       b.setOnClickListener(new OnClickListener() {
           public void onClick(View v){
               startActivity(new Intent(MainActivity.this, Recipe.class));
        }
        });
     }



     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
         return true;
     }

  }
第二轮代码:我传递信息的尝试。第一项活动

package com.example.andrew;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         Edit Text et = (Edit Text) findViewById(R.id.editText1);
         String theText =  et.getText().toString();
         Intent i = new Intent(this, Recipe.class);//Recipe is my second class
         i.putExtra("text_label", theText);//what is "text_label"? Where should it be?
         Button b=(Button) findViewById(R.id.button1);
         b.setOnClickListener(new OnClickListener() {
          public void onClick(View v){
                startActivity(new Intent(MainActivity.this, Recipe.class));
        }
     });
   }

 }
在我的第二项活动中,我有:

 public class Recipe extends Activity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.recipe_layout);
         Intent i = getIntent();
         uriStringi = i.getStringExtra("text_label");//is text_label on actv. 1?
               startActivity(i);
         }

您正在意向中添加数据,但启动活动时未使用数据。而是创造新的意图

解决方案:

在当前活动中,创建新的意图:

意向i=新意向(此,Recipe.class)

i、 putExtra(“文本\标签”,文本)

星触觉(i);//用onClick()写下这个

然后在配方中检索这些值:

Bundle extras=getIntent().getExtras()

如果(附加值!=null){

}

String value = extras.getString("text_label");