我想使用ShareActionProvider共享动态文本。我使用这个代码在我的片段:如何在Android ShareActionProvider中共享动态文本
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.detailfragment, menu);
MenuItem menuItem = menu.findItem(R.id.action_share);
private ShareActionProvider mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);
if (mForecast != null) {
mShareActionProvider.setShareIntent(createShareForecastIntent());
}
}
private Intent createShareForecastIntent() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, editText.getText().toString());
return shareIntent;
}
这将分享在进入活动之前的文本,即使我会按分享按钮之前的EditText改变它。而此代码的工作,因为我想要的,但我不想做单独的按钮分享:
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_SEND);
myIntent.putExtra(Intent.EXTRA_TEXT, editText.getText().toString());
myIntent.setType("text/plain");
startActivity(myIntent);
break;
default:
//
}
}
我使用:
minSdkVersion 14
targetSdkVersion 19
尝试设置在onOptionsItemSelected方法股份意向 – 2014-08-29 20:19:28
不工作;( – 2014-09-07 21:53:46