android进度圈没有显示出来

时间:2014-09-06 06:21:19

标签: android android-layout android-spinner progressdialog android-progressbar

我正在开发一个Android应用程序,遇到了一个我无法弄清楚的微不足道的问题。 我试图在用户点击搜索按钮后显示进度圈。但是有些我怎么也无法使用我目前编写的代码创建进度条。

代码如下..

在我的片段类中,搜索按钮的代码是单击...

//create a progress dialog circle.
           spinner = (ProgressBar) searchByDoctor.findViewById(R.id.progressBar1);
           spinner.setVisibility(View.VISIBLE);
           spinner.setIndeterminate(true);
           List<DocInfoTO> docList = doctorService.findDocBySearchCriteria(docSearchInputTO);
           if(docList != null && docList.size() > 0)
           {
               //stop the progress cirlce as soon as we get the results.
               spinner.setVisibility(View.GONE);
               spinner.setIndeterminate(false);
               List<SearchResultDoctorRowItem> rowItems = new ArrayList<SearchResultDoctorRowItem>();
               for(DocInfoTO doc : docList)
               {
                   rowItems.add(YourDocUtil.setDoctorRowItemDto(doc));
               }

xml是这样的,

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/android">

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/enter_doc_name"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_gravity="center_horizontal"
     android:paddingTop="200dp"/>

<EditText
    android:id="@+id/editText1"
    android:layout_width="238dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal|center_vertical"
    android:layout_marginTop="20dp"
    android:ems="10"
    android:inputType="textPersonName"
    android:hint="@string/doctor_Name" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true" >

    <LinearLayout
        android:id="@+id/footerSearch"
        style="?metaButtonBarStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center_horizontal"
        android:background="@color/black_overlay"
        android:orientation="horizontal"
        >

        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/searchDoc"
            />
    </LinearLayout>

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|center_vertical"/>

</FrameLayout>

2 个答案:

答案 0 :(得分:0)

你的代码很好。您无法看到进度条的原因,因为它过快地从spinner.setVisibility(View.VISIBLE)状态转到spinner.setVisibility(View.GONE)。简而言之,你的进度条出现并消失得太快,你无法注意到它。

如果此代码doctorService.findDocBySearchCriteria(docSearchInputTO)需要更长时间才能执行,您将能够看到进度条。 `

答案 1 :(得分:0)

确保您没有在您编写的代码之上的某处调用spinner.setVisibility(View.GONE)spinner.setVisibility(View.Invisible)。它会导致微调器停止出现。