1

非同期タスクのコード:

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        ScrollView sv = (ScrollView)findViewById(mScrollViewID);
        sv.removeAllViews();
        pb = new ProgressBar(mContext, null, android.R.attr.progressBarStyleSmall);
        pb.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        pb.setIndeterminate(true);
        pb.setVisibility(View.VISIBLE);

        TextView tv = new TextView(mContext);
        tv.setText("Some text here.");
        sv.addView(pb);
    }

最後に注意してくださいTextView-代わりにそれを追加すると、ScrollView問題なく表示されます。ProgressBarしかし、何も表示されないようです。コントロールを使用するのは初めてです-何かばかげたものが欠けていますか?

編集:重要な場合、ScrollView使用中はXMLで次のように定義されます。

<ScrollView android:id="@+id/scrollview0" android:layout_width = "match_parent" android:layout_height="match_parent"
            android:fillViewport="true" android:padding="5dp">
4

2 に答える 2

3

この問題は、ProgressBarを動的に作成しているときに多く発生します

xmlを使用してProgressBarを1つ作成することをお勧めします

デフォルトの可視性を設定しますGONE

于 2012-07-16T14:09:15.950 に答える
0

tvそれの後に追加するpbと、definatylはエラーを示しますか?

それは、ScrollViewホストが1人の子供だけだからです。LinearLayoutだからあなたがあなたに追加する必要があるものそしてあなたScrollViewに他のものを追加するLinear layout

于 2012-07-16T14:28:14.180 に答える