2013-02-21 58 views
0

我在2個不同的文件,其中AB從不同的表查詢創建的內部2不同的類ABquery()方法:如何設置getContentResolver()的上下文?

public Cursor query(Uri uri, String[] projection, String selection, 
      String[] selectionArgs, String sortOrder) { 
} 

然後,從2個不同的Activity我嘗試使用以下代碼來調用:

Cursor cursor = getContentResolver().query(uri, projection, null, null, null); 

但是從Activity它只從Class A調用query()方法。在致電getContentResolver()之前,我是否錯過了設置的東西?

我的清單:

<manifest> 
    <application> 
...................... 
     <provider 
      android:name=".provider.ItemProvider" 
      android:authorities="com.waveletandroid.provider" > 
     </provider> 
     <provider 
      android:name=".provider.CustomerProvider" 
      android:authorities="com.waveletandroid.provider" > 
     </provider> 
    </application> 
</manifest> 

URIItemListActivity

itemUri = Uri.parse("content://com.waveletandroid.provider/waveletandroid"; 

URICustomerListActivity

customerUri = Uri.parse("content://com.waveletandroid.provider/waveletandroid"; 
+0

這就要看你的URI和你的ContentProvider定義 – njzk2 2013-02-21 08:23:16

+0

請讓我知道我可以設置其中的ContentProvider我想用在活動中。 – ray 2013-02-21 09:09:35

+0

取決於uri和uri匹配器。發佈你的uri和你的清單 – njzk2 2013-02-21 10:08:01

回答

1

試試如下:

public Cursor getAllContacts() { 
     return database.query("country", new String[] {"_id", "name"}, 
     null, null, null, null, "name"); 
    } 

在您的活動獲得此方法如下:

Cursor cursor =getAllContacts(); 
+0

你的答案也在工作。謝謝。也用上述評論中提到的另一種方式解決。 – ray 2013-02-21 14:10:27

相關問題