Если вы хотите поделиться простой датой, такой как текст, с другими приложениями, используйте Intents.Например, с помощью этого кода вы можете поделиться своим текстом с другими приложениями:
Intent shareText = ShareCompat.IntentBuilder.from(activity)
.setType("text/plain")
.setText(shareText)
.getIntent();
if (shareText.resolveActivity(getPackageManager()) != null) {
startActivity(shareText);
}
Но если вы хотите поделиться несколькими данными, такими как arrayList, вы можете сделать это следующим образом:
ArrayList<String> testList = new ArrayList<String>();
testList.add(yourFirstText); // Add your text here
testList.add(yourSecondText);// Add your text here
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, testList);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "Share my list to.."));
Дополнительная информация может быть доступна здесь
Для вашего RecyclerView, когда пользователь нажимает на каждый элемент вашего списка, вы можете назвать этот код, который я написал выше.
Тогда выможете создать свой ArrayList с элементами этой карты.например, в вашем onBindViewHolder
вы можете установить что-то вроде этого:
myholder.buttonViewOption.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ArrayList<String> testList = new ArrayList<String>();
testList.add(myQuoteList.get(position).getAuthor); // Add your text here
testList.add(myQuoteList.get(position).getQuotedesc);// Add your text here
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, testList);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "Share my list to.."));
}
});
Надеюсь, это поможет вам.