为了账号安全,请及时绑定邮箱和手机立即绑定

第二个游标为什么会出错?

public class MainActivity extends AppCompatActivity {

    private TextView et1,et2,et3;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et1=(TextView)findViewById(R.id.id);
        et2=(TextView)findViewById(R.id.displayname);
        et3=(TextView)findViewById(R.id.number);
        ContentResolver cr=getContentResolver();
        /*
           查询:
          1.要查询的URI,2.查询的字段3.4.查询的条件5.排序
        */
        Cursor c=cr.query(Contacts.CONTENT_URI,new String[]{Contacts._ID,Contacts.DISPLAY_NAME},null,null,null);
         if(c!=null)
         {
             while(c.moveToNext())
             {
                 int id=c.getInt(c.getColumnIndex("Contacts._ID"));
                 et1.setText(""+id);
                 String name=c.getString(c.getColumnIndex("Contacts.DISPLAY_NAME"));
                 et2.setText(name);
                 Cursor c1=cr.query(Phone.CONTENT_URI,new String[]{Phone.NUMBER,Phone.TYPE},Phone.CONTACT_ID+"="+id,null,null);
                 if(c1!=null)
                 {
                     while (c1.moveToNext()) {
                         int type = c1.getInt(c1.getColumnIndex("Phone.TYPE"));
                         if (type == Phone.TYPE_HOME) {
                             String number = c1.getString(c1.getColumnIndex("Phone.NUMBER"));
                             et3.setText("家庭"+number);
                         }
                         if (type == Phone.TYPE_MOBILE) {
                             String number = c1.getString(c1.getColumnIndex("Phone.NUMBER"));
                             et3.setText("手机"+number);
                         }
                     }
                     c1.close();
                 }
             }
             c.close();
         }
    }
}
把C1有关的代码删除后就可以运行了,,求看错误

正在回答

1 回答

这个错误应该是选择的列于表中的列不匹配,把getColumnIndex中的引号去掉应该就可以了,加了引号和不加引号区别很大。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第3季)
  • 参与学习       74912    人
  • 解答问题       420    个

手势识别、数据存储和4大组件,让你牢牢掌握之前的基础知识点

进入课程

第二个游标为什么会出错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信