我正在开发一个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>
答案 0 :(得分:0)
你的代码很好。您无法看到进度条的原因,因为它过快地从spinner.setVisibility(View.VISIBLE)
状态转到spinner.setVisibility(View.GONE)
。简而言之,你的进度条出现并消失得太快,你无法注意到它。
如果此代码doctorService.findDocBySearchCriteria(docSearchInputTO)
需要更长时间才能执行,您将能够看到进度条。 `
答案 1 :(得分:0)
确保您没有在您编写的代码之上的某处调用spinner.setVisibility(View.GONE)
或spinner.setVisibility(View.Invisible)
。它会导致微调器停止出现。