【问题标题】:android progress circle is not showing upandroid进度圈没有出现
【发布时间】:2014-10-31 02:13:12
【问题描述】:

我正在开发一个 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>

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你的代码很好。您看不到进度条的原因是它从spinner.setVisibility(View.VISIBLE) 状态变为spinner.setVisibility(View.GONE) 太快了。简而言之,您的进度条出现和消失的速度太快,以至于您无法注意到它。

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

      【讨论】:

      • 对方法 findDocBySearchCriteria 的调用实际上要长一些,因为它会导致服务器命中。为了确认起见,我尝试添加 Thread.sleep(7000) 以便我至少可以看到微调器在旋转。但我没有帮助我。
      • 尝试为一个构建注释掉 spinner.setVisibility(View.GONE)。
      • 是因为我在同一线程上调用doctorService.findDocBySearchCriteria(docSearchInputTO);and spinner????
      • 不,是因为它的出现和消失太快了。
      • 虽然这需要时间,但我没有看到进度条......有人对此有新的想法吗?
      猜你喜欢
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-22
      相关资源
      最近更新 更多