我需要在两个活动之间传递信息,但由于某种原因,信息未发送/接收。
LogCat 没有给我任何错误。欺骗者清楚地显示“某些东西”已添加到意图中(变量:mExtras),但很难准确解释添加的内容。之后它给了我“找不到源”并且没有进一步帮助我。 但首先要注意的事情。到目前为止我做的事情正确吗?
发送:
Intent intent = new Intent ( this, TaskListActivity.class );
intent.putExtra ( ProjectManager.ID, mId.toString () );
startActivity ( intent );
收货:
Intent intent = getIntent ();
mId = UUID.fromString ( intent.getStringExtra ( ProjectManager.ID ) );
Bundle extras = intent.getExtras();
String exampleString = extras.getString(ProjectManager.ID);
ProjectManager.ID
?,当从putExtra接收数据时,即使接收数据的方式错误,你也应该传递相同的唯一
key
,请检查以下代码:发送中:
Intent intent = new Intent ( this, TaskListActivity.class );
intent.putExtra (ProjectManager.ID, mId.toString () );
startActivity ( intent );
收货:
Bundle extras = intent.getExtras();
if(extras!=null){
String _Str = extras.getString(ProjectManager.ID);
}
Bundle extras = getIntent().getExtras();
String id;
if (extras != null) {
id= extras.getString(key);
}
Intent i = new Intent(FirstActivity.this,SecondActivity.class);
i.putExtra("KEY",value);
startActivity(i);
在 SecondActivity.java 中:
Bundle extras=getIntent().getExtras();
String name=extras.getString("key"); //if data you are sending is String.
int i=extras.getInt("key"); //if data you are sending is integer.
String valueOfExtra;
Intent i = getIntent();
//check first
if(i.hasExtra("extra1")){
valueOfExtra = i.getStringExtra("extra1");
}
String data = extras.getString("EXTRA_TEXT");
我必须删除引号并在 EXTRA_TEXT 前面加上“意图”。
来电者:
Intent intent = new Intent(this, AboutActivity.class);
intent.putExtra(Intent.EXTRA_TEXT, "hello from menu item selected");
startActivity(intent);
接收者:
Bundle extras = getIntent().getExtras();
if (extras != null) {
String data = extras.getString(Intent.EXTRA_TEXT);
TextView tv = findViewById(R.id.myAboutText);
tv.setText(data);
}