2010-09-15 37 views
1

我有兩個Uris。假設他們是:UriMatcher回傳錯誤值

content://myprovider/messages 
content://myprovider/messages/# 

在我的ContentProvider延長我已經宣佈:

private static final int MESSAGES = 1; 
    private static final int MESSAGES_ID = 2; 

    private static final UriMatcher sUriMatcher; 

    static { 
     sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); 
     sUriMatcher.addURI("myprovider", "messages", MESSAGES); 
     sUriMatcher.addURI("myprovider", "messages/#", MESSAGES_ID); 
    } 

當我使用...

content://myprovider/messages/# 

...烏里調用任何的ContentProvider時方法,說插入,我的ContentProvider方法做...

sUriMatcher.match(uri) 

...我回來1(MESSAGES)。

爲什麼?

+0

有人?任何人? :( – Andrew 2010-09-16 21:37:07

回答

1

如果你想獲得MESSAGES_ID,URI中必須寫入像content://myprovider/messages/12345或者你必須添加的模式爲MESSAGES_ID,如:

sUriMatcher.addURI("myprovider", "messages/*", MESSAGES_ID);