我使用从Web服务器获取的数据填充AutoCompleteTextView。这需要3-5秒。如果没有表明它的自动完成没有人等待。因此,我希望显示一个这样的指标:
我试过了:
private class getAutoCompletes extends AsyncTask<String, Void, String> {
private String response;
@Override
protected String doInBackground(String... params) {
//get autocomplete data
return response;
}
@Override
protected void onPostExecute(String result) {
autoComplete.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
ArrayAdapter<String> AutoCompleteAdapter = new ArrayAdapter<String>(
MainActivity.this,
android.R.layout.simple_dropdown_item_1line, autocompletes);
autoComplete.setAdapter(AutoCompleteAdapter);
autoComplete.showDropDown();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
autoComplete.setCompoundDrawablesWithIntrinsicBounds(0, 0,
R.drawable.rotating_drawable, 0);
}
}
R.drawable.rotating_drawable
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:drawable="@drawable/spinner1"
android:duration="50"/>
<item
android:drawable="@drawable/spinner2"
android:duration="50"/>
<item
android:drawable="@drawable/spinner3"
android:duration="50"/>
<item
android:drawable="@drawable/spinner4"
android:duration="50"/>
</animation-list>
但是这没用。右侧抽屉是静止的。
以上图片类型的布局包含搜索ImageView
,AutoCompleteTextView
,ProgressBar
和go Button
所有无边框< / strong>那种背景?因此,progressbar
看起来像AutoCompleteTextView
内部。
谢谢。
答案 0 :(得分:0)
您想使用进度条而不是微调器。使用图形视图将它们放在AutoCompleteTextView字段上并设置其ID。我设定我的进度加载。
<ProgressBar
android:id="@+id/progressLoading"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/autoCompleteTextViewId"
android:layout_alignTop="@+id/autoCompleteTextViewId"
android:paddingTop="14dip"
android:paddingRight="10dip" />
然后在你的活动/片段中:
final ProgressBar barProgress = (ProgressBar) findViewById(R.id.progressLoading);
originProgress.setVisibility(View.GONE);
它会自动显示,因此我们最初将其设置为隐藏。然后,我们在AutoCompleteTextView上的addTextChangedListener上将其设置为VISIBLE。然后,只要完成任务,就将其设置为隐藏。