change.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i("用户数据",user); oldpass=oldpwd.getText().toString(); newpass=newpwd.getText().toString(); newpass1=newpwd1.getText().toString(); boolean flag=true; if(oldpass.equals("")||oldpass==null){ Toast.makeText(getApplicationContext(), "请输入旧密码!", Toast.LENGTH_SHORT).show(); flag=false; } if(newpass.equals("")||newpass==null){ Toast.makeText(getApplicationContext(), "请输入新密码!", Toast.LENGTH_SHORT).show(); flag=false; } if (!newpass.equals(newpass1)){ Toast.makeText(getApplicationContext(), "两次密码不一致!", Toast.LENGTH_SHORT).show(); flag=false; } if(flag){ checkpass(oldpass,newpass); } } }); back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(changepwdActivity.this,MyselfActivity.class); startActivity(intent); } }); } private void checkpass(String oldpass,String newpass){ DatabaseHelper dbhelper = new DatabaseHelper(this); SQLiteDatabase db=dbhelper.getReadableDatabase(); try{ String sql="SELECT * FROM users WHERE userId=? and passWord=?"; Cursor cursor=db.rawQuery(sql,new String[]{user,oldpass}); if(cursor.getCount()==0){ Toast.makeText(getApplicationContext(), "用户旧密码错误!", Toast.LENGTH_SHORT).show(); } else{ ContentValues values=new ContentValues(); values.put("passWord",newpass); db.update("users",values,"userId=?",new String[] {user}); Toast.makeText(getApplicationContext(), "修改成功", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(changepwdActivity.this,MyselfActivity.class); startActivity(intent); } cursor.close(); db.close(); }catch (SQLiteException e){ Toast.makeText(getApplicationContext(), "修改失败", Toast.LENGTH_SHORT).show(); } } }
时间: 2023-06-18 10:08:40 浏览: 131
这段代码是一个 Android 应用程序中修改用户密码的逻辑代码。当用户点击“修改”按钮时,会检查输入的旧密码、新密码和确认密码是否为空,以及新密码和确认密码是否一致。如果输入的信息符合要求,则会调用 `checkpass` 方法来检查旧密码是否正确,如果正确,则将新密码更新到数据库中。如果更新成功,则会显示“修改成功”并跳转到“我的”页面;如果失败,则会显示“修改失败”。另外,当用户点击“返回”按钮时,会跳转到“我的”页面。
相关问题
findViewById(R.id.button_c).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });实现计算器清零操作
在 `onClick` 方法中,获取到计算器显示结果的 `TextView`,将其文本设置为 0 即可实现清零操作:
```java
findViewById(R.id.button_c).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView resultTextView = findViewById(R.id.result_text_view);
resultTextView.setText("0");
}
});
```
其中,`result_text_view` 是你的计算器界面中显示结果的 `TextView` 的 ID。
解释一下 clearImageButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { item.onClick(itemView.getClipBounds()); } });
这段代码定义了一个名为 `clearImageButton` 的视图,并为其设置了一个点击事件监听器。该监听器是一个匿名内部类,实现了 `View.OnClickListener` 接口,并重写了 `onClick(View v)` 方法。
当 `clearImageButton` 被点击时,将会调用 `item.onClick(itemView.getClipBounds())` 方法。其中,`item` 是一个对象,具有一个名为 `onClick(Rect)` 的方法,该方法接受一个 `Rect` 类型的参数。`itemView` 是 `clearImageButton` 所在的父视图,`itemView.getClipBounds()` 方法返回的是 `itemView` 的裁剪矩形。
因此,这段代码的作用是:当 `clearImageButton` 被点击时,调用 `item.onClick()` 方法,并将 `itemView` 的裁剪矩形作为参数传递给该方法。
阅读全文