0

我想使用 aShareActionProvider来分享我的内容ListFragment(其中包括来自ArrayAdapter带有 a 的馈送的文本条目ArrayList<MyObject>)。

我该怎么做呢?

我知道我必须创建一个新的 Intent 并使用setType("text/plain"),但是setAction()我应该使用Intent.ACTION_SENDandIntent.ACTION_SEND_MULTIPLE吗?

设置内容时,我应该使用putExtraorputParcelableArrayListExtra吗?

我是否使用来自ListFragment、 或来自ArrayAdapter、 或来自的数据来设置ArrayList<MyObject>Intent ,ArrayAdapter或者来自构建之前的数据ArrayList

4

1 回答 1

0

对于 setAction(),我应该使用 Intent.ACTION_SEND 和 Intent.ACTION_SEND_MULTIPLE 吗?

作为应用程序的作者,这是您的选择。如果您希望共享一段文本(您自己从许多段中组装而成),请使用ACTION_SEND. 如果您希望共享许多文本,请使用ACTION_SEND_MULTIPLE.

请注意,ACTION_SENDACTION_SEND_MULTIPLE. 因此,如果您的目标是让这种共享普遍有用,您会希望转向ACTION_SEND.

更重要的是,您需要确定用户想要做什么。据推测,您开发的目的是让 1 个人以上使用这个应用程序。如果应用程序的用户希望根据这些数据发送一封电子邮件、发布一条推文或上传一条注释,那么您应该使用ACTION_SEND. 相反,如果用户期望发送N条消息(或其他),那么可以尝试使用ACTION_SEND_MULTIPLE.

设置内容时,应该使用 putExtra 还是 putParcelableArrayListExtra?

因为ACTION_SEND,这将是putExtra(),传递String。因为ACTION_SEND_MULTIPLE,它会putStringArrayListExtra()

我是否使用来自 ListFragment 的数据、来自 ArrayAdapter 的数据、来自馈入 ArrayAdapter 的 ArrayList 或来自构建 ArrayList 之前的数据来设置 Intent?

您使用StringArrayList<String>如上所述。您从哪里获得这些值是您作为开发人员需要决定的业务逻辑。

于 2014-02-16T13:56:19.660 回答