Can';Android无法轻松实现共享操作
因此,我试图添加一个简单的共享操作,但单击共享操作不会显示应该出现的弹出窗口 有点像这样 我使用的是appcompatv7和工具栏,而不是操作栏 这是我的密码 菜单-XMLCan';Android无法轻松实现共享操作,android,android-layout,android-intent,Android,Android Layout,Android Intent,因此,我试图添加一个简单的共享操作,但单击共享操作不会显示应该出现的弹出窗口 有点像这样 我使用的是appcompatv7和工具栏,而不是操作栏 这是我的密码 菜单-XML <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_it
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_item_share"
android:orderInCategory="100"
app:showAsAction="always"
android:icon="@drawable/ic_social_share"
android:title="Share"
android:actionProviderClass="android.widget.ShareActionProvider" />
<item
android:title="Add"
android:id="@+id/action_add_new_alarm"
android:orderInCategory="101"
android:icon="@android:drawable/ic_menu_add"
app:showAsAction="always"/>
即使是Logcat也没有显示我在CreateOptions菜单上按下了一个按钮
OnOptions ItemSelected
,可以使用操作栏
,但是正如您所说的,您使用的是工具栏
,并且您的onMenuItemClick
的实现不包括启动共享意图的选项,先生,你是救命恩人。我觉得自己很愚蠢。。。谢谢你,兄弟
//all about the toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.view);
// Set an OnMenuItemClickListener to handle menu item clicks
toolbar.setOnMenuItemClickListener(
new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// Handle the menu item
switch (item.getItemId()) {
case R.id.action_add_new_alarm: {
startAlarmDetailsActivity(-1);
break;
}
}
return true;
}
});
// Inflate a menu to be displayed in the toolbar
toolbar.inflateMenu(R.menu.alarm_list);
toolbar.setTitle("MY APP");
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
getMenuInflater().inflate(R.menu.alarm_list, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_add_new_alarm: {
startAlarmDetailsActivity(-1);
Log.i(TAG, "add button clicked");
return true;
}
case R.id.menu_item_share: {
Log.i(TAG, "share button clicked");
actionShare();
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
private void actionShare(){
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, "my string");
i.putExtra(Intent.EXTRA_TEXT, "another string");
startActivity(i);
//Or like above will always display the chooser
//startActivity(Intent.createChooser(i, getResources().getText(R.string.share)));
}