Android 截击无效请求
我正在尝试更改下面片段中的密码。但当我输入值时,没有任何动作发生。我有3个字段:Android 截击无效请求,android,json,parsing,android-volley,Android,Json,Parsing,Android Volley,我正在尝试更改下面片段中的密码。但当我输入值时,没有任何动作发生。我有3个字段: 1.当前密码 2.新密码 3.重新输入密码 我在截击。我在调试器上测试过,值为空。只有当电流通过等于(“”…时,if条件才起作用。我该如何进行?下面是带有初始化视图的整个片段 public class Change_password extends Fragment { EditText current_pass,new_pass,re_enter_pass; String curr_pass, newer_pas
1.当前密码
2.新密码
3.重新输入密码 我在截击。我在调试器上测试过,值为空。只有当电流通过等于(“”…时,if条件才起作用。我该如何进行?下面是带有初始化视图的整个片段
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();
}
}
});
}
公共类更改\u密码扩展片段{
编辑文本当前密码、新密码、重新输入密码;
字符串curr\u pass、newer\u pass、re\u pass、id;
按钮更换按钮;
AlertDialog.Builder;
会议;
字符串SP=“Name”;
字符串url=”https://vendorapp.web4rest.com/VendorController/changePassword";
@可空
@凌驾
创建视图时的公共视图(LayoutFlater充气机、@Nullable ViewGroup容器、@Nullable Bundle savedInstanceState){
//返回布局文件
//更改每个片段的R.layout.yourlayoutfilename
视图v=充气机。充气(R.layout.change_密码,容器,错误);
builder=newalertdialog.builder(getContext());
电流通过=v.findviewbyd(R.id.current\u pwd);
新通行证=v.FindViewByd(R.id.new_pwd);
重新输入密码=v.findviewbyd(R.id.re\u输入密码);
changePwd_btn=v.findviewbyd(R.id.change_pwd);
changePass();
返回v;
}
changePwd_btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
ConnectivityManager ConnectionManager=(ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_服务);
NetworkInfo NetworkInfo=ConnectionManager.getActiveNetworkInfo();
if(networkInfo!=null&&networkInfo.isConnected()==true){
curr_pass=当前_pass.getText().toString();
更新的_pass=new_pass.getText().toString();
re_pass=re_enter_pass.getText().toString();
如果(当前通行证等于(“”)|新通行证等于(“”)|重新通行证等于(“”){
setTitle(“出错了!!”;
显示警报(“输入有效的详细信息”);
}否则{
StringRequest StringRequest=新的StringRequest(Request.Method.POST,url,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONObject jobject=新JSONObject(响应);
SharedReferences首选项=getActivity()。GetSharedReferences(SP,模式\私有);
id=preferences.getString(“id”,null);
if(Integer.parseInt(jobject.getString(“状态”))==200){
Toast.makeText(getContext(),“密码更改成功!”,Toast.LENGTH_SHORT.show();
session.setLoggedin(true);
getActivity().finish();
}否则{
Toast.makeText(getContext(),jobject.getString(“msg”),Toast.LENGTH_LONG.show();
}
}捕获(JSONException e){
Log.e(“错误”,“登录失败”+e.toString());
e、 printStackTrace();
Toast.makeText(getActivity(),“Error”,Toast.LENGTH\u SHORT);
}
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(getActivity(),“Error”,Toast.LENGTH\u SHORT);
错误。printStackTrace();
}
}){
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map parmams=newhashmap();
parmams.put(“curr_pass”,curr_pass);
parmams.put(“新通行证”,新通行证);
parmams.put(“用户id”,id);
返回帕尔曼;
}
};
getInstance(getActivity()).addToRequestque(stringRequest);
}
}否则{
Toast.makeText(getContext(),“网络不可用”,Toast.LENGTH_LONG.show();
}
}
});
}
您是否正确初始化了视图@Ranjan Das:我已使用初始化视图编辑了代码,在该代码中,它显示了Null异常,您在Log.e中得到了什么(“错误”,“登录失败”+e.toString());