开发者社区> 问答> 正文

android问题求教

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mymail/com.example.mymail.AddcontantsActivity}: java.lang.IllegalArgumentException: the bind value at index 1 is null

在点击按钮用对话框添加邮件联系人时候报错,第二次点击后就连界面都无法启动了。

 public void addcontants(){
 AlertDialog.Builder builder=new Builder(AddcontantsActivity.this);
 Context mContext = AddcontantsActivity.this;
 LayoutInflater inflater = getLayoutInflater();

 mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
 View layout = inflater.inflate(R.layout.mycustom_dialog,null);
 final EditText name=(EditText) layout.findViewById(R.id.addcontantsname);
 final EditText addr=(EditText) layout.findViewById(R.id.addcontantsemail);
        System.out.println(addr_str);

        builder.setView(layout);
        builder.setPositiveButton("确定", new OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                name_str=name.getText().toString().trim();
                addr_str=addr.getText().toString().trim();
                System.out.println(name_str+"////"+addr_str);

                if(TextUtils.isEmpty(name_str)){
                    Toast.makeText(AddcontantsActivity.this, "用户名不能为空", Toast.LENGTH_SHORT).show();
                }else{
                    if(!Emailcheck.isEmail(addr_str)){

                        Toast.makeText(AddcontantsActivity.this, "邮箱格式不正确", Toast.LENGTH_SHORT).show();
                    }else{
                        Uri uri=Uri.parse("content://com.example.mymail.provider.EmailConstantProv");
                        ContentValues values=new ContentValues();
                        values.put("mailfrom", MyApplication.info.getUserName());
                        values.put("name", name_str);
                        values.put("address", addr_str);
                        getContentResolver().insert(uri, values);

                        Toast.makeText(AddcontantsActivity.this, "添加数据成功", Toast.LENGTH_SHORT).show();
                    }
                 }
            }
        });
        builder.setNegativeButton("取消", null);
        builder.show();
}

数据库信息

db.execSQL("create table email(id INTEGER PRIMARY KEY AUTOINCREMENT,mailfrom varchar(20),name varchar(20),address varchar(20))");

展开
收起
爵霸 2016-06-20 09:09:40 2067 0
1 条回答
写回答
取消 提交回答
  • 在应用程序AndroidManifest.xml中的manifest节点中加入android:sharedUerId="android.uid.system"这个属性。然后放在源码环境中编译,并通过adb install 的方式进行安装。mk文件中的属性改为LOCAL_CERTIFICATE := platform。
    我说不好,不过你用这个方式试试,仙都取到源代码,然后自己写一个DB,我有点没懂你的意思

    2019-07-17 19:43:37
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载