YXTS122
YXTS122
采纳率100%
2017-04-14 21:45 阅读 1.2k

从哪看出会去调用getType方法

5
  menu.addIntentOptions(Menu.CATEGORY_ALTERNATIVE, 0, 0,
                new ComponentName(this, MyContacts.class), null, intent, 0, null);
 startActivity(new Intent(Intent.ACTION_INSERT, getIntent().getData()));

程序执行上面两条语句时都会去调用getType方法,不知道是从哪个参数里看出来的?

 // URI类型转换
    public String getType(Uri uri)
    {
        switch (uriMatcher.match(uri))
        {
            case CONTACTS:
                return "vnd.android.cursor.dir/contacts";
            case CONTACT_ID:
                return "vnd.android.cursor.item/contacts";
            default:
                throw new IllegalArgumentException("Unsupported URI: " + uri);
        }
    }

而且在调用getType方法时,是先执行语句case CONTACTS:
return "vnd.android.cursor.dir/contacts";,
再执行语句case CONTACT_ID:
return "vnd.android.cursor.item/contacts";

不是说执行了一个return,getType方法就结束了吗?怎么还执行下一个return?
二选一啊啊啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    qq_36539304 接口的说法 2017-04-17 05:54

    case CONTACT_ID:
    do??
    return "vnd.android.cursor.item/contacts";是会走但只走return不走do??,也不会影响执行结果的

    点赞 评论 复制链接分享
  • qq_35982678 顾念成痴 2017-04-17 05:46

    这个switch不是用break吗

    点赞 评论 复制链接分享
  • YXTS122 YXTS122 2017-04-19 21:25

    图片说明

    点赞 评论 复制链接分享

相关推荐