android - 齐射空请求
问题描述
我正在尝试更改以下片段中的密码。但是当我输入值时,没有任何动作发生。我有 3 个字段:
1. current_password
2. new_password
3. re-enter_password。
我正在使用截击。我在调试器上测试了值是空的。只有 if 条件 wherecurr_pass.equals("")...
有效。我该如何进行?下面是带有初始化视图的整个片段。
public class Change_password extends Fragment {
EditText current_pass,new_pass,re_enter_pass;
String curr_pass, newer_pass, re_pass,id;
Button changePwd_btn;
AlertDialog.Builder builder;
Session session;
String SP = "Name";
String url = "https://vendorapp.web4rest.com/VendorController/changePassword";
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//returning our layout file
//change R.layout.yourlayoutfilename for each of your fragments
View v = inflater.inflate(R.layout.change_password, container, false);
builder = new AlertDialog.Builder(getContext());
current_pass = v.findViewById(R.id.current_pwd);
new_pass = v.findViewById(R.id.new_pwd);
re_enter_pass = v.findViewById(R.id.re_enter_pwd);
changePwd_btn = v.findViewById(R.id.change_pwd);
changePass();
return v;
}
changePwd_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ConnectivityManager ConnectionManager = (ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = ConnectionManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected() == true) {
curr_pass = current_pass.getText().toString();
newer_pass = new_pass.getText().toString();
re_pass = re_enter_pass.getText().toString();
if (curr_pass.equals("") || newer_pass.equals("") || re_pass.equals("")) {
builder.setTitle("Something went wrong!!");
displayAlert("Enter valid details");
}else{
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jobject = new JSONObject(response);
SharedPreferences preferences = getActivity().getSharedPreferences(SP, MODE_PRIVATE);
id = preferences.getString("ID", null);
if (Integer.parseInt(jobject.getString("status"))==200){
Toast.makeText(getContext(),"Password changed successfully!",Toast.LENGTH_SHORT).show();
session.setLoggedin(true);
getActivity().finish();
} else {
Toast.makeText(getContext(),jobject.getString("msg"),Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
Log.e("Error", "Login Failed" + e.toString());
e.printStackTrace();
Toast.makeText(getActivity(), "Error", Toast.LENGTH_SHORT);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), "Error", Toast.LENGTH_SHORT);
error.printStackTrace();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> parmams = new HashMap<String, String>();
parmams.put("curr_pass", curr_pass);
parmams.put("new_pass", newer_pass);
parmams.put("user_id",id);
return parmams;
}
};
MySingleton.getInstance(getActivity()).addToRequestque(stringRequest);
}
}else {
Toast.makeText(getContext(), "Network Unavailable", Toast.LENGTH_LONG).show();
}
}
});
}
解决方案
推荐阅读
- logback - Liquibase 3.6.2 logLevel=debug 不兑现?
- jquery - 如何使用 Web Api 在 ASP.NET Core Razor 页面中创建动态菜单
- javascript - 使用 THREE.js 可缩放任何形状的轮廓
- excel - 同步 Excel 表
- reactjs - 为什么 React 必须使用 setState 进行状态更新?
- react-native - React-Native TypeError:未定义不是对象(评估'this.props.screenProps.cities.map')
- ruby-on-rails - 如何在 ruby on rails 中使用 mysql 数据库
- r - 如果代码块中有任何错误,保存 blogdown 草稿帖子(.Rmd 文件)会冻结我的 RStudio 会话
- html - 前一个 URL 未从实际 URL 中删除
- jmeter - 如何在 Jmeter 中配置并发测试?