我有一个包含三个活动(MainActivity、PlayerActivity 和 ListActivity)的项目。我想从发送意图MainActivity
来PlayerActivity
选择一个名称PlayerActivity
,并再次把它传递给MainActivity.
我写了另一个意图将一些数据发送到ListActivity
from Mainactivity
。
MainActivity
对ListActivity
作品的完美,也MainActivity
给PlayerActivity.
但当PlayerActivity
发送意向MainActivity
,我得到一个空的意图。
这是我的代码:
从 ListActivity 发送:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
int buttonId = bundle.getInt("buttonID");
String name = parent.getItemAtPosition(position).toString();
Intent sendIntentToMainActivity = new Intent(PlayersActivity.this, MainActivity.class);
Bundle bundle1 = new Bundle();
bundle1.putString("name", name);
bundle1.putInt("buttonId", buttonId);
startActivity(sendIntentToMainActivity);
}
});
进入主活动:
@Override
protected void onNewIntent(Intent intent) {
if (intent != null) {
setIntent(intent);
Log.d("xxx", "Intent is null");
}
}
@Override
protected void onResume() {
super.onResume();
Intent intent = getIntent();
Bundle bundle = new Bundle();
int id = bundle.getInt("buttonID");
String name = bundle.getString("name");
if (id == mButton_first_group_frist_name.getId()) {
mButton_first_group_frist_name.setText(name);
} else if (id == mButton_first_group_second_name.getId()) {
mButton_first_group_second_name.setText(name);
} else if (id == mButton_second_group_frist_name.getId()) {
mButton_second_group_frist_name.setText(name);
} else if (id == mButton_second_group_second_name.getId()) {
mButton_second_group_second_name.setText(name);
}
}
请帮助并提供建议
您必须将包添加到创建的意图中,并在返回 onResume 时从意图中获取包。你可以这样做:
Intent sendIntentToMainActivity = new Intent(PlayersActivity.this, MainActivity.class);
Bundle bundle1 = new Bundle();
bundle1.putString("name", name);
bundle1.putInt("buttonId", buttonId);
sendIntentToMainActivity.putExtra("bundle",bundle1);
startActivity(sendIntentToMainActivity);
然后在里面onResume
:
Intent intent = getIntent();
Bundle bundle = intent.getBundleExtra("bundle");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句