2010-03-01 3 views
0

친구,스레딩을 사용하여 Android 관련 문제를 진행하십시오!

나는 웹 서비스 메소드를 호출하여 진행 상황을 표시 할 때 andorid 활동의 진행 상황을 표시하기 위해 다음 코드를 사용하고 있습니다. 그러나 serivce의 전화가 끝날 때 나의 신청은 부서진다.

이 목표를 달성하기 위해 내가 수행 한 실수 나 다른 대안을 안내해주세요.

mProgressStatus = 0; 
    Thread th=new Thread(new Runnable() { 
    public void run() { 
    if (mProgressStatus < 100) { 
    myProgressBar.setVisibility(View.VISIBLE); 
    } else { 
    myProgressBar.setVisibility(View.GONE); 
    } 
    } 

    }); 


    th.start(); 

    results = p.GetPosts(p, PageSize, adap.getCount()); 

    mProgressStatus=100; 

th.stop();

+0

당신이 모든 로그를 게시 할 수있는 UI 스레드에서 실행되어야하는 UI에 대한

mProgressStatus = 0; MyActivity.this.runOnUiThread(new Runnable() {}); public void run() { if (mProgressStatus < 100) { myProgressBar.setVisibility(View.VISIBLE); } else { myProgressBar.setVisibility(View.GONE); } } }); 

모두가 활동 클래스에있는 경우, runOnUiThread를 사용하여 시도 할 수 있습니다? – Macarse

+0

대신 새 스레드 안에 진행률 표시 줄을 만들어보십시오. – Macarse

답변

0

따라서 응용 프로그램이 충돌하는 경우 오류 메시지를 먼저 확인해야합니까? 적어도 우리에게 제공하십시오.

은 (팁 : 나는 오늘의 세 가지 게시물을 읽고 당신은 항상 당신의 코드를 붙여 넣기의 첫 번째/마지막 라인에 문제가 당신이 질문을 제출하기 전에 ... 당신이 코드를 붙여 넣기를 확인하십시오)

+0

ERROR/AndroidRuntime (1519) : android.view.ViewRoot $ CalledFromWrongThreadException : 뷰 계층 구조를 만든 원래 스레드 만 해당 뷰를 터치 할 수 있습니다. – UMAR

0

당신 당신이

관련 문제