我有这种方法来分享帖子。这是我的方法:
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int itemId = item.getItemId();
Log.d(itemId + "", R.id.action_settings + "");
//noinspection SimplifiableIfStatement
if (itemId == R.id.action_settings) {
sharePost();
Log.d("adsfsadf", "sadf");
}
return super.onOptionsItemSelected(item);
}
问题是itemId
和R.id.action_settings
不匹配,因此共享未被调用我不确定为什么它们不匹配这里是我的项目的xml。
<item android:id="@+id/action_share"
android:title="@string/action_share"
android:icon="@drawable/ic_action_share"
app:showAsAction="always" />
以下是此声明所记录的内容
Log.d(itemId + "", R.id.action_settings + "");
D/2131230785﹕ 2131230786
感谢您的帮助!! :)
答案 0 :(得分:1)
改变,
if (itemId == R.id.action_settings)
到
if (itemId == R.id.action_share)
问题在于menu.xml
您已将ID设置为action_share
,而在java中,您正在检查action_settings
我希望这有帮助!
答案 1 :(得分:1)
您的商品ID为R.id.action_share
并且您正在与R.id.action_settings
进行比较,它与老板的匹配程度如何?它应该是
if (itemId == R.id.action_share){
}
答案 2 :(得分:1)
尝试更改此
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
if(item.getItemId()==R.id.action_share)
{
sharePost();
Log.d("adsfsadf", "sadf");
}
return super.onOptionsItemSelected(item);
}