我想使用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