Android 如何在意图之间发送字符串?

Android 如何在意图之间发送字符串?,android,string,android-intent,Android,String,Android Intent,我需要帮助将字符串发送到其他活动 public class MainActivity extends Activity implements OnClickListener{ @Override public void onClick(View arg0) { // TODO Auto-generated method stub Intent myInt = new Intent(this,Receiver.class); myInt.putExtra("key",Ev

我需要帮助将字符串发送到其他活动

public class MainActivity extends Activity implements OnClickListener{

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    Intent myInt = new Intent(this,Receiver.class);
    myInt.putExtra("key",Event);
    startActivity(myInt);
}

Button b;
EditText Edt;
String Event;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b=(Button)findViewById(R.id.button);
        b.setOnClickListener(this);
        Edt=(EditText)findViewById(R.id.EdtText);
        Event=new String(Edt.getText().toString());             
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}
这就是我要发送到此活动的字符串事件的意图

public class Receiver extends Activity {

TextView txtV;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.receiving);
    txtV=(TextView)findViewById(R.id.txtV);
    Bundle extras = getIntent().getExtras();
    if(extras !=null) {
        String value = extras.getString("key");
    }
    txtV.setText("key");
}
}
当我运行我的程序时,它只显示“key”,但我想显示字符串事件,虽然我在第一个意图中使用了putExtra方法,但我不能在这个活动中使用它。 请帮帮我,我知道还有很多类似的问题,但我还是不明白。

用这个:

    txtV.setText(value);
不是这个:

    txtV.setText("key");
使用以下命令:

    txtV.setText(value);
不是这个:

    txtV.setText("key");

试试这个。我希望它能帮助你

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    b=(Button)findViewById(R.id.button);
    b.setOnClickListener(this);
    Edt=(EditText)findViewById(R.id.EdtText);
    Event=new String(Edt.getText().toString()); //Remove this line   
}

@Override
public void onClick(View arg0) {
    Event = Edt.getText().toString();  //Write here
    Intent myInt = new Intent(this,Receiver.class);
    myInt.putExtra("key",Event);
    startActivity(myInt);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.receiving);
    txtV=(TextView)findViewById(R.id.txtV);
    Bundle extras = getIntent().getExtras();
    if(extras !=null) {
        String value = extras.getString("key"); //assign it.
        txtV.setText(value); //set it to textview.
    }
}

试试这个。我希望它能帮助你

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    b=(Button)findViewById(R.id.button);
    b.setOnClickListener(this);
    Edt=(EditText)findViewById(R.id.EdtText);
    Event=new String(Edt.getText().toString()); //Remove this line   
}

@Override
public void onClick(View arg0) {
    Event = Edt.getText().toString();  //Write here
    Intent myInt = new Intent(this,Receiver.class);
    myInt.putExtra("key",Event);
    startActivity(myInt);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.receiving);
    txtV=(TextView)findViewById(R.id.txtV);
    Bundle extras = getIntent().getExtras();
    if(extras !=null) {
        String value = extras.getString("key"); //assign it.
        txtV.setText(value); //set it to textview.
    }
}

你在谈论什么事件?使用
txtV.setText(value)而不是
txtV.setText(“键”)内部if语句你在谈论什么事件?使用
txtV.setText(值)而不是
txtV.setText(“键”)内部if语句感谢您的回答,但它不会运行它总是显示key而不是字符串iwant@Marques照我上面说的仔细做。再次执行此操作。好的,现在我将其修复:)非常感谢,这非常有帮助!谢谢你的回答,但它不会运行它总是显示键而不是字符串iwant@Marques照我上面说的仔细做。再次执行此操作。好的,现在我将其修复:)非常感谢,这非常有帮助!