0
로그인 페이지를 만들 때. 사용자 이름을 작성하고 암호 edittext로 이동할 때 json api에서 사용자 이름을 확인해야합니다. 처음 로그인이든 반복적 인 로그인이든 ... 로그인이 반복 될 때 setvisible textview forget pass는 setVisibView.visible이며 처음 엔 getpassword textview가 표시됩니다. 여기okhttp json을 사용하여 로그인
try {
JSONObject jsonObject = new JSONObject(res);
JSONArray result = jsonObject.getJSONArray(ConstantsValues.result);
JSONArray result1 = jsonObject.getJSONArray(ConstantsValues.result1);
for (int i = 0; i < result.length(); i++) {
JSONObject obj_result = result.getJSONObject(i);
String Success = obj_result.getString("SUCCESS");
if (Success.equals("1")) {
for (int j = 0; j < result1.length(); j++) {
JSONObject obj_result1 = result1.getJSONObject(j);
String Message = obj_result1.getString("message");
if (Message.equals("Forget Password.")) {
forgetpass.setVisibility(View.VISIBLE);
} else {
getpass.setVisibility(View.VISIBLE);
}
}
} else {
showAlertDialog("Invalid", "Invalid password or Email");
}
}
runOnUiThread(new Runnable() {
@Override
public void run() {
// you can access all the UI componenet
}
});
오류는 다음과 같습니다 :
: 코드를 백그라운드 스레드 내부, 모두가 당신이 가시성 코드가 runOnUiThread() 안에해야 볼 모든 가정
E/JSONDemo: onResponse
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:7266)
at android.view.ViewRootImpl.recomputeViewAttributes(ViewRootImpl.java:3490)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.ViewGroup.recomputeViewAttributes(ViewGroup.java:1357)
at android.view.View.needGlobalAttributesUpdate(View.java:9904)
at android.view.View.setFlags(View.java:10749)
at android.view.View.setVisibility(View.java:7511)
at com.example.abhishek.focus_business_solution.SignIn$3$1.onResponse(SignIn.java:248)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:133)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
마찬가지로 모든 UI 요소에 액세스하는 방법을 사용합니다. – Kushan
고마워요. 형제 님이 이걸 조사하고 있었는데 ....... 나는 잘하기가 쉽지 않고 고맙습니다. – Abhi