筱枫晨 2021-11-24 20:37 采纳率: 50%
浏览 18
已结题

这个是AndroidStudio 的一段代码,里面的while死循环了,本来里面的数据库是有数据了,但是它的光标不向下个数据移动,但是我又找不到它是因为什么地方,开始死循环了。

package com.example.jidanci;import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import static android.widget.Toast.LENGTH_SHORT;public class update extends AppCompatActivity { private EditText ed1,ed2,ed3; private Button bt1; private DBHelper dbh; private SQLiteDatabase db; private Cursor cu; private String user,pawd,repawd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_update); bt1 = findViewById(R.id.qrxg); ed1 = findViewById(R.id.xgyhmc); ed2 = findViewById(R.id.xgxmm); ed3 = findViewById(R.id.qrxmm); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { goup(); } }); } private void goup() { user = ed1.getText().toString().trim(); pawd = ed2.getText().toString().trim(); repawd =ed3.getText().toString().trim(); boolean qrxg = false; if (user.equals("")) { Toast.makeText(update.this, "请填写账号", LENGTH_SHORT).show(); } else if (pawd.equals("")) { Toast.makeText(update.this, "请填写新密码", LENGTH_SHORT).show(); } else if (repawd.equals("")) { Toast.makeText(update.this, "请重新填写新密码", LENGTH_SHORT).show(); } else { dbh = new DBHelper(update.this,"db",null,1); db = dbh.getWritableDatabase(); cu = db.query("xinxi", new String[]{"username"}, null, null, null, null, null); while (cu.moveToNext()) { if (user.equals(cu.getString(cu.getColumnIndex("username")))) { if (pawd.length() == 6) { if (pawd.equals(repawd)) { ContentValues values = new ContentValues(); values.put("password", pawd); String where = "username=" + user + ""; db.update("xinxi", values, where, null); qrxg = true; db.close(); ed1.setText(""); ed2.setText(""); ed3.setText(""); break; } else { Toast.makeText(update.this, "两次密码不匹配", LENGTH_SHORT).show(); } } else { Toast.makeText(update.this, "请输入六位数的密码", LENGTH_SHORT).show(); break; } } else { Toast.makeText(update.this, "该用户不存在", LENGTH_SHORT).show(); break; } } } if(qrxg){ bt1.setText("立即登录"); bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String qrusername = ed1.getText().toString().trim(); String qrpawd = ed2.getText().toString().trim(); String qrrepawd =ed3.getText().toString().trim(); dbh = new DBHelper(update.this,"db",null,1); db = dbh.getWritableDatabase(); if(!qrusername.equals("")&&!qrpawd.equals("")&&!qrrepawd.equals("")){ cu = db.query("xinxi",new String[]{"username","password"},null,null,null,null,null); while (cu.moveToNext()){ if (qrusername.equals(cu.getString(cu.getColumnIndex("username")))) { if (qrpawd.equals(cu.getString(cu.getColumnIndex("password")))) { if(qrpawd.equals(qrrepawd)){ Intent tz = new Intent(update.this,loginActivity.class); startActivity(tz); Toast.makeText(update.this,"欢迎进入查询界面!!!", LENGTH_SHORT).show(); finish(); return; } else { Toast.makeText(update.this,"两次密码不匹配", LENGTH_SHORT).show(); } } else { Toast.makeText(update.this,"密码错误!!!", LENGTH_SHORT).show(); break; } } else{ Toast.makeText(update.this,"用户名称错误!!!", LENGTH_SHORT).show(); break; } } } else{ Toast.makeText(update.this,"请完整填写信息!!!", LENGTH_SHORT).show(); } } }); } }}

  • 写回答

1条回答 默认 最新

  • 俺不理解 2021-11-25 09:23
    关注

    咱能不能有个正常格式的代码,你这一坨一行怎么看啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月24日

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加