我有一个带有drawable的ArrayList,现在我想用Intent将它们发送到我的Service类。我该怎么做? 我的ArrayList:
ArrayList<Drawable> drawableList = new ArrayList<Drawable>();
我的意图:
Intent service = new Intent(this, MyOwnService.class);
service.putExtra("Dauer", dauer);
service.putExtra("Links", false);
startService(service);
我有位图,我转换为drawables:
Drawable d = new BitmapDrawable(getResources(),bmp);
如何将此ArrayList放入此Intent?
答案 0 :(得分:1)
在Android中的Intent中发送消息的方式是使用putExtra()方法。对于ArrayList,您可以创建一个实现Parcelable接口的类。这是一个例子: Arraylist in parcelable object
答案 1 :(得分:1)
你可以简单地在列表中传递文件名,这样意图的接收者就会自己加载文件(如果可以的话)。这似乎是最简单的解决方案。
另一个是创建一个扩展Drawable的类,它可以从它的实例构造并实现Parcelable接口(这样你就可以使用putExtra()
传递它)
另一种广泛用于解决此问题的解决方案,但看起来非常难看(至少对我而言):您可以将列表存储在静态变量中,以便可以从其他活动访问它。