2010-06-24 6 views
0

Android 개발을 처음 사용하고 있으며 약간의 문제가 있습니다. 첫 번째 화면은 기본 로그인 화면입니다. 화면에는 LOG IN 버튼이 있고 버튼에는 OnClickHandler가 구현되어 있습니다.
사용자가 로그인 버튼을 클릭하면 사용자 이름과 암호의 유효성을 검사 할 때 ProgressBar 대화 상자에 새 스레드가 시작됩니다. 스레드는 서버에 연결하고 사용자 정보의 유효성을 검사합니다. 문제는 스레드가 완료 될 때까지 진행률 막대가 표시되지 않는다는 것입니다. 나는 모든 작업이 별도의 스레드에서 수행되어야한다는 것을 읽었습니다. 그렇지 않으면 Progress Bar는 빛을 보지 않을 것이며 별도의 스레드에서 작업을하고 있습니다.ProgressBar 대화 상자가 표시되지 않습니다.

하지만 문제는 스레드 코드 바로 아래에있는 동안 (userinfo == null) {}입니다. 이는 userinfo 객체가 새로 생성 된 스레드에 의해 채워지고 userinfo 객체가 스레드 아래의 코드에 필요하기 때문에 루프가 없으면 userinfo 객체를 채우는 새 스레드가 만들어 지지만 그 동안에는 userinfo는 null 객체를 얻습니다. 어떤 사람이 코드를 검토하고자한다면이 코드가있는 파일을 보낼 수 있습니다. 이 일에 정말로 도움이 필요합니다.

답변

3

AsyncTask이 도움이 될 수 있습니다. postexecute의 루프에서 무엇을 하든지 관계없이 작업을 수행하십시오.

관련 문제