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

并设置默认可见性 GONE

于 2012-07-16T14:09:15.950 回答
0

如果你tvpb它之后添加 deffinatyl 显示错误?

这是因为ScrollView只有一个孩子。所以你需要在你的中添加一个然后LinearLayout在你的中ScrollView添加其他东西Linear layout

于 2012-07-16T14:28:14.180 回答