相关疑难解决方法(0)

在下一个活动中检索时,置于Intent extra中的LinkedList会重新转换为ArrayList

我正在观察wrt传递可序列化数据作为intent extra的行为是非常奇怪的,我只想澄清是否有一些我不会错过的东西.

所以我试图做的是在ActivtyALinkedListintent我开始下一个活动而创建一个实例- ActivityB.

LinkedList<Item> items = (some operation);
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra(AppConstants.KEY_ITEMS, items);
Run Code Online (Sandbox Code Playgroud)

onCreateActivityB,我试图获取LinkedList额外如下-

LinkedList<Item> items = (LinkedList<Item>) getIntent()
                             .getSerializableExtra(AppConstants.KEY_ITEMS);
Run Code Online (Sandbox Code Playgroud)

在运行这个时,我ClassCastExceptionActivityB上面的一行中反复进入.基本上,例外说我收到了ArrayList.一旦我改变了上面的代码来接收一个代码ArrayList,一切都运行得很好.

现在我不能从现有文档中找出这是否是Android传递可序列化List实现时的预期行为.或者,或许,我正在做的事情存在根本性的错误.

谢谢.

android android-intent

26
推荐指数
2
解决办法
5934
查看次数

putExtra treeMap返回HashMap无法强制转换为TreeMap android

我需要你的帮助,我无法理解发生了什么?

我正在尝试在2个活动之间发送TreeMap,代码是这样的:

class One extends Activity{
 public void send(){
   Intent intent = new Intent(One.this, Two.class);
   TreeMap<String, String> map = new TreeMap<String, String>();
   map.put("1","something");
   intent.putExtra("map", map);
   startActivity(intent);
   finish();
 }
}

class Two extends Activity{
  public void get(){
  (TreeMap<String, String>) getIntent().getExtras().get("map");//Here is the problem
  }
}
Run Code Online (Sandbox Code Playgroud)

这回到我身边HashMap无法强制转换为TreeMap.什么

android hashmap treemap android-intent

7
推荐指数
1
解决办法
2984
查看次数

标签 统计

android ×2

android-intent ×2

hashmap ×1

treemap ×1