私はカスタムタイトルビューを使用しており、スレッドが動作しているときにタイトルバーにプログレスバーを表示/非表示したいと考えています。Android - runOnUiThreadを使用してスレッドからUIを変更する
これは私のタイトルビューのXML私の活動に
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/image_left_btn"
android:layout_width="75dip"
android:layout_height="wrap_content"
android:text="Back"
/>
<TextView
android:id="@+id/image_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="20dip"
android:textStyle="bold"
android:textColor="#fff"
android:layout_gravity="center"
android:gravity="center"
android:paddingLeft="8dip"
android:paddingRight="8dip"
/>
<ProgressBar
android:id="@+android:id/progress_small_title"
style="?android:attr/progressBarStyleSmall"
android:layout_width="75dip"
android:layout_height="wrap_content"
android:paddingRight="8dip"/>
</LinearLayout>
で、カスタムタイトルバーとしてこれを設定した後、私はtitleProgressは、プログレスバーオブジェクトである。この
titleProgress = (ProgressBar)findViewById(R.id.progress_small_title);
titleProgress.setVisibility(View.INVISIBLE);
を行います。
これは私が私のスレッドで何をすべきか
runOnUiThread(new Runnable() {
public void run() {
titleProgress.setVisibility(View.VISIBLE);
}
});
//long operation here
runOnUiThread(new Runnable() {
public void run() {
titleProgress.setVisibility(View.INVISIBLE);
}
});
である。しかし、プログレスバーへの変更はありません。それは表示されません。誰かがコードに間違っていることを教えてもらえますか?
タイトルのプログレスバーをカスタムタイトルに表示することはできますか?
ありがとうございました。
既に最初の2つを試しましたが、助けにはなりませんでした!そして私は必死で私は3のための呼び出しを推測する? ;) – lostInTransit
3)オプションは、すべての問題に最適なソリューションです... LOL – Rodrigo