2017-09-27 5 views
0
  1. コードをダウンロードされているときにプログレスバーを更新しませんres/layoutのmyprogressdialog.xml):でsetProgressメソッドは、私のファイルは、ファイルをダウンロードするための

    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/layout_root" 
    android:orientation="vertical" 
    android:padding="10dp"> 
    
    <TextView 
    android:id="@+id/tv1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#FFF" 
    android:text="hello" 
    android:textStyle="bold" 
    /> 
    
    <ProgressBar 
    android:id="@+id/progress_bar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:progress="0" 
    android:layout_marginTop="5dp" 
    android:layout_marginBottom="10dp" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:maxHeight="10dip" 
    android:minHeight="10dip" 
    /> 
    
    <TextView 
    android:id="@+id/cur_pg_tv" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#0F0" 
    android:text="hello" 
    android:layout_marginTop="5dp" 
    android:textStyle="bold|italic" /> 
    
    </LinearLayout> 
    
  2. mProgressBarに青色を与えるためのXML(RES /描画可能でblue_progress.xml)

    <?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    
    <item android:id="@android:id/background"> 
    <shape> 
        <corners android:radius="5dip" /> 
        <gradient android:startColor="#ff9d9e9d" 
         android:centerColor="#ff5a5d5a" 
         android:centerY="0.75" 
         android:endColor="#ff747674" 
         android:angle="270" 
         /> 
    </shape> 
    </item> 
    <item android:id="@android:id/progress"> 
    <clip> 
        <shape> 
         <corners android:radius="5dip" /> 
         <gradient android:startColor="@android:color/holo_blue_bright" 
          android:centerColor="@android:color/holo_blue_dark" 
          android:centerY="0.75" 
          android:endColor="@android:color/holo_blue_light" 
          android:angle="270" 
          /> 
        </shape> 
    </clip> 
    </item> 
    </layer-list> 
    

私のファイルがダウンロードされているときでsetProgressメソッドはプログレスバーを更新しません! 私は何か解決策を提案できますか?

答えて

0

https://developer.android.com/reference/android/os/AsyncTask.html

私はあなたが非同期的にUIスレッドを更新することができますそこにいくつかの本当に良いツールがあるので、AsyncTask上に読んでお勧めしたいです。
非同期タスクを使用すると、バックグラウンドスレッドでタスクを実行することができます。タスクが完了(または進行中)すると、UIに更新が加えられます。通常これにより、UI Runnableをスキップすることができますが、状況によって異なります。

とにかく、 オーバーライドするメソッドは、AsyncTaskのonProgressUpdateです。また、将来的にこれを達成しようとする頭痛を軽減できます。

幸運を祈る!希望が役立ちます。

+0

問題を解決するために必要なものは見つかりましたか? – DWndrer

関連する問題