0

次のコードが表示されたプログレスバーが画面に表示されません。なぜ?

protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);

        ProgressBar pBar = new ProgressBar(this, null, android.R.attr.progressBarStyleSmall);
        pBar.setLeft(5);
        pBar.setTop(5);
        pBar.setIndeterminate(true);
        pBar.setVisibility(View.VISIBLE);
        pBar.bringToFront();
4

3 に答える 3

1

あなたが実際に欲しいように見えますProgressDialog

ただし、実際に使用したい場合はProgressBar、現在のビューに追加する必要があります。addView(view)

これが-ckに役立つことを願っています

于 2012-07-03T18:38:11.850 に答える
0

コンストラクターで、次のようにします。

ProgressBar pb = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);

このリンクもチェックしてください

Androidでプログラムで「水平スタイル」のプログレスバーを作成するにはどうすればよいですか?

于 2012-07-03T18:29:54.767 に答える
0

メインスレッドから切り離す必要があります。そうしないと、実際には表示されません。つまり、ビルドすると、これがアクティビティの最後になります。pb を表示しようとした後にアクティビティが何か他のことを行う場合、pb は表示されません。通常、次のように動作します。MainUI が PB を描画し、その直後に、非同期タスクとして、または PB を更新する他のスレッドとして、いくつかのプロセスが開始されます。
私が見ることができるように、あなたはいくつかのクリック/タップでPBを表示しようとしています。その後、http-requestまたはいくつかのハード計算などを実行しようとしていると思います。これは、ATまたはスレッドとして開始する必要がありますが、次のようではありませんPB を表示すべきではないコード。

于 2012-07-03T18:52:21.907 に答える