2015-01-08 3 views
0

나는 안드로이드 응용 프로그램을 개발 중입니다. 수직 진행률 표시 줄에서 작업.
새 항목을 추가 할 때 항목이 몇 퍼센트의 값 (예 : 30 %)과 연결됩니다.
진행률 표시 줄을 0 %에서 30 %로 업데이트해야합니다. 그리고 백분율 값을 가진 다른 항목을 추가하면 진행률 표시 줄에 update from 30% to 70%(30+40)이 필요합니다.
어떻게해야합니까? 샘플 코드가 도움이 될 것입니다. 여기에 내 코드를 게시했습니다. onProgressUpdate에서android에서 진행률 표시 줄 업데이트

public class VerticalProgressBar extends Activity { 

Button buttonStart; 
ProgressBar vProgressBar; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.verticalprogressbar); 
    buttonStart = (Button) findViewById(R.id.start); 
    vProgressBar = (ProgressBar) findViewById(R.id.vprogressbar); 

    buttonStart.setOnClickListener(new Button.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      buttonStart.setClickable(false); 
      new asyncTaskUpdateProgress().execute(); 
     } 
    }); 

} 

public class asyncTaskUpdateProgress extends AsyncTask<Void, Integer, Void> { 

    int progress; 

    @Override 
    protected void onPostExecute(Void result) { 
     // TODO Auto-generated method stub 
     buttonStart.setClickable(true); 

    } 

    @Override 
    protected void onPreExecute() { 
     // TODO Auto-generated method stub 
     progress = 0; 
    } 

    @Override 
    protected void onProgressUpdate(Integer... values) { 
     // TODO Auto-generated method stub 
     vProgressBar.setProgress(values[0]); 
    } 

    @Override 
    protected Void doInBackground(Void... arg0) { 
     // TODO Auto-generated method stub 
     while (progress < 100) { 

      progress++; 
      publishProgress(progress); 
      SystemClock.sleep(100); 

     } 
     return null; 

     } 

    } 

    } 

답변

0

, 현재의 진행에 값을 추가하려면이를 사용

vProgressBar.setProgress(vProgressBar.getProgress() + values[0]); 

그리고 doInBackground에서 당신은 아마도 당신의 "항목"과 같이이 여기서

publishProgress(item.getPercentageValue()); 
+0

I을 미안해. 나는 당신의 코드의 첫 줄에 대해 가지고있다. 그러나 여기에 '항목'이 무엇인지, 어떻게 작동하는지에 대해 확신하지 못합니까? 고맙습니다. – user3782869

+0

당신의 코드에 없기 때문에 그 비트를 추측했습니다 ...하지만 당신은 "백분율 값을 가진 다른 아이템을 추가하고 싶습니다"라고 언급 했으므로 백분율 값은 당신이'publishProgress '. – James

관련 문제