Ani*_*n J 6 android android-listview
在android中我在xml中定义了menuitem的onclick处理程序
<item
android:id="@+id/context_menu"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/word_context_menu_title"
android:onClick="deleteItem"/>
Run Code Online (Sandbox Code Playgroud)
在相应的活动中,我使用以下签名定义了一个函数deleteItem.
public boolean deleteItem(MenuItem item){
logger.info("delete button clicked");
return false;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是返回值表示什么?在哪种情况下我应该返回true,在哪种情况下我应该返回false?
什么boolean返回值从文档意味着onMenuItemClick:
返回true以消耗此单击并阻止其他人执行.
这里onOptionsItemSelected与答案类似的行为.如果我理解正确,这意味着无论何时成功处理事件,都应该返回.true
这是一个例子.
说你有你的deleteItem也onOptionsItemSelected.
public boolean deleteItem(MenuItem item){
Log.v("test", "delete button clicked");
return false;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case R.id.context_menu:
Log.v("test","onOptionsItemSelected");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你回来false,deleteItem你会看到它也被处理了onOptionsItemSelected.
>单击删除按钮
> onOptionsItemSelected
如果返回true的deleteItem将不再办理onOptionsItemSelected.
>点击删除按钮
另请注意,您的deleteItem句柄可以是一个void方法,它将根据此处的源代码自动返回true .
| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |