android 应用程序中的共享按钮在 showAsAction 始终或 ifroom 时不起作用
share button in android app is not working when showAsAction is always or ifroom
我正在开发一个 android webview 应用程序,我在操作栏上添加了共享操作,当 showAsAction 为“从不”时它工作正常,但一旦我将其更改为 'always' 就停止工作或 'ifRoom'`
我的代码是:
private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public final boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_share:
shareURL();
}
return super.onOptionsItemSelected(item);
}
private void shareURL() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, mWebView.getUrl());
startActivity(Intent.createChooser(shareIntent, "Share This!"));
}
如果有人能帮忙,谢谢。
你确定你真的有 space 来显示它吗?
您可以尝试禁用标题,看看是否创造了足够的空间:
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
更新:
你可以尝试使用:
public void setOnMenuItemClickListener (Toolbar.OnMenuItemClickListener listener)
我相信工具栏有一个与下拉菜单不同的监听器。
代码可能类似于:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar tb = (Toolbar) findViewById(R.id.toolbar_id);
tb.inflateMenu(R.menu.menu);
tb.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// Menu item should be returned here (the one you tap on the toolbar)
return false;
}
});
}
删除 android:actionProviderClass="android.widget.ShareActionProvider"
并添加 android:icon="@drawable/image-name"
我正在开发一个 android webview 应用程序,我在操作栏上添加了共享操作,当 showAsAction 为“从不”时它工作正常,但一旦我将其更改为 'always' 就停止工作或 'ifRoom'` 我的代码是:
private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public final boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_share:
shareURL();
}
return super.onOptionsItemSelected(item);
}
private void shareURL() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, mWebView.getUrl());
startActivity(Intent.createChooser(shareIntent, "Share This!"));
}
如果有人能帮忙,谢谢。
你确定你真的有 space 来显示它吗?
您可以尝试禁用标题,看看是否创造了足够的空间:
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowTitleEnabled(false);
更新:
你可以尝试使用:
public void setOnMenuItemClickListener (Toolbar.OnMenuItemClickListener listener)
我相信工具栏有一个与下拉菜单不同的监听器。
代码可能类似于:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar tb = (Toolbar) findViewById(R.id.toolbar_id);
tb.inflateMenu(R.menu.menu);
tb.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// Menu item should be returned here (the one you tap on the toolbar)
return false;
}
});
}
删除 android:actionProviderClass="android.widget.ShareActionProvider"
并添加 android:icon="@drawable/image-name"