将drawable的ArrayList发送到Service(Java,Android)

时间:2014-04-24 19:14:14

标签: java android android-intent arraylist

我有一个带有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?

2 个答案:

答案 0 :(得分:1)

在Android中的Intent中发送消息的方式是使用putExtra()方法。对于ArrayList,您可以创建一个实现Parcelable接口的类。这是一个例子: Arraylist in parcelable object

答案 1 :(得分:1)

你可以简单地在列表中传递文件名,这样意图的接收者就会自己加载文件(如果可以的话)。这似乎是最简单的解决方案。

另一个是创建一个扩展Drawable的类,它可以从它的实例构造并实现Parcelable接口(这样你就可以使用putExtra()传递它)

另一种广泛用于解决此问题的解决方案,但看起来非常难看(至少对我而言):您可以将列表存储在静态变量中,以便可以从其他活动访问它。