steambreadlove 2015-02-25 06:30 采纳率: 33.3%
浏览 3492

android getContentResolver返回值的问题

最近学了下面的代码,运行时报错数组越界,检查发现newUriList为空,再进一步检查发现是因为getContentResolver.insert的返回值newUri的权限,路径以及id之间没有“/",求大神解释这怎么解决,谢谢

            ![图片说明](https://img-ask.csdn.net/upload/201502/25/1424845714_34467.jpg)
            ![图片说明](https://img-ask.csdn.net/upload/201502/25/1424845776_174148.jpg)
            ![![![](https://img-ask.csdn.net/upload/201502/25/1424845714_34467.jpg)](https://img-ask.csdn.net/upload/201502/25/1424845714_34467.jpg)](https://img-ask.csdn.net/upload/201502/25/1424845714_34467.jpg)

            Uri uri=Uri.parse("content://com.example.databasetest.provider/book");
            ContentValues values=new ContentValues();
            values.put("name", "A clash of kings");
            values.put("author", "Gerorge Martin");
            values.put("pages", 1040);
            values.put("price", 22.85);
            android.net.Uri newUri=getContentResolver().insert(uri, values);
            Log.d("newUriList","newUri is "+newUri.toString());
            List<String> newUriList=newUri.getPathSegments();
            if(newUriList.isEmpty()){
                Log.d("newUriList","newUriList is empty");
            }else{
                Log.d("newUriList","newUriList has "+newUriList.size()+" elements");
                Log.d("newUriList","The first element of newUriList is "+newUriList.get(0));
                Log.d("newUriList","The second element of newUriList is "+newUriList.get(1));
            }
            newId=newUriList.get(1);

  • 写回答

2条回答

  • douglas_shen 2015-12-21 14:19
    关注

    最后解决了没有,我也遇到了这种情况

    评论

报告相同问题?