在 ShareIntent 中发送多个文本项?
Send multiple text items in ShareIntent?
我的问题与这些问题非常相似:
我已经尝试了建议的解决方案,但没有奏效。我正在尝试发送两个项目:共享意图中的 "name" 和 "arrival time"。通过AsyncTask和RecyclerView将两个文本(Strings)下载到activity中的数据在下面的方法中。
//正在初始化
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 方法。有没有办法做到这一点 w/o 重组当前代码?先感谢您。
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;
}
您可以连接两个 stationShareStationName 和 stationShareArrivalTime 并生成单个字符串。您还可以在这些变量 ("\n") 之间使用换行符,如下所示:
public Intent createShareIntent()
{
String stationShareStationName ="xxx";
String stationShareArrivalTime = "xxx";
String data =stationShareStationName + "\n" + stationShareArrivalTime
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,data);
return shareIntent;
}
我的问题与这些问题非常相似:
我已经尝试了建议的解决方案,但没有奏效。我正在尝试发送两个项目:共享意图中的 "name" 和 "arrival time"。通过AsyncTask和RecyclerView将两个文本(Strings)下载到activity中的数据在下面的方法中。
//正在初始化
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 方法。有没有办法做到这一点 w/o 重组当前代码?先感谢您。
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;
}
您可以连接两个 stationShareStationName 和 stationShareArrivalTime 并生成单个字符串。您还可以在这些变量 ("\n") 之间使用换行符,如下所示:
public Intent createShareIntent()
{
String stationShareStationName ="xxx";
String stationShareArrivalTime = "xxx";
String data =stationShareStationName + "\n" + stationShareArrivalTime
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,data);
return shareIntent;
}