这两个数据在“ putExtras”中混合在一起。
当我在“ Parcelable intent_string = extras.getParcelable(getString(R.string.intent_name));
”中注释“ //”时,它已修复。
在我看来,第二个“ putExtra”会覆盖第一个“ putExtra”
1º活动
Intent intent = new Intent(HumanActivity.this, AnatoActivity.class);
Bundle extras = new Bundle();
extras.putString(getString(R.string.calling_activity),getString(R.string.dinamic_activity));
extras.putParcelable(getString(R.string.intent_name), mNameList.get(position));
intent.putExtras(extras);
startActivity(intent);
2º活动
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String calling_string = extras.getString(getString(R.string.calling_activity));
Parcelable intent_string = extras.getParcelable(getString(R.string.intent_name));
错误-> if(intent.hasExtra(calling_string))
我不知道通过“ putExtra”传递各种数据有什么错误。
答案 0 :(得分:0)
您可以改为添加多个strings
。
i.putExtra(ID_EXTRA, new String[] { "1", "111"});
答案 1 :(得分:0)
Bundle extras = new Bundle();
extras.putString(getString(R.string.calling_activity),getString(R.string.dinamic_activity));
extras.putParcelable(getString(R.string.intent_name), mNameList.get(position));
intent.putExtras(extras);
startActivity(intent);
我不确定您为什么在这里使用putParcelable方法。您的mNameList不是String的ArrayList吗?如果是这样,则应改用putString方法。
答案 2 :(得分:0)
您需要将数据作为自己的Parcelable类对象接收。
如果您的Name
类实现了Parcelable,则将数据作为Name
类对象接收。
尝试这样-
Name intent_string = extras.getParcelableExtra(getString(R.string.intent_name));
希望这可以解决您的问题。