2013-02-21 61 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

相关问题