Мой вопрос очень похож на эти:
Можно ли поделиться несколькими текстами с помощью намерения поделиться?
Передача нескольких текстовых / простых значений в общем намерении
Я попробовал предложенные решения, но они не сработали. Я пытаюсь отправить две вещи: «имя» и «время прибытия» в общем намерении. Данные, из которых два текста (строки) загружаются в действие через AsyncTask и RecyclerView, представлены ниже в методе.
// инициализация
Schedule stationArrival;
private String stationShareStationName;
private String stationShareArrivalTime;
@Override
public void returnScheduleData(ArrayList<Schedule> simpleJsonScheduleData)
{
if (simpleJsonScheduleData.size() > 0) {
scheduleAdapter = new ScheduleAdapter(simpleJsonScheduleData, StationScheduleActivity.this);
scheduleArrayList = simpleJsonScheduleData;
mScheduleRecyclerView.setAdapter(scheduleAdapter);
scheduleAdapter.setScheduleList(scheduleArrayList);
stationArrival = scheduleArrayList.get(0);
stationShareStationName = stationArrival.getStationScheduleName();
stationShareArrivalTime = stationArrival.getExpectedArrival();
}
else
{
Toast.makeText(StationScheduleActivity.this, "Data currently unavailable", Toast.LENGTH_SHORT).show();
}
if (mShareActionProvider != null)
{
mShareActionProvider.setShareIntent(createShareIntent());
}
}
Код ShareIntent. В настоящее время это неправильно, поскольку на экране общего доступа отображается только один из элементов. Я попытался поместить два элемента в ArrayList, но он не работает, так как у меня есть отдельный метод для ShareIntent. Есть ли способ сделать это без реструктуризации текущего кода? Заранее спасибо.
public Intent createShareIntent()
{
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,stationShareStationName);
shareIntent.putExtra(Intent.EXTRA_TEXT,stationShareArrivalTime);
return shareIntent;
}