MainActivity 용 xml 파일에서 내 앱이 일부로드를 수행 할 때마다 표시 할 원형 ProgressBar를 정의했습니다.View.VISIBLE 뒤에 View.GONE을 호출하면 ProgressBar가 표시되지 않습니다. (구형 전화기에서만)
private void refresh() {
new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
//show progress bar and blur background
progressBar.setVisibility(View.VISIBLE);
mainActivityScreen.setAlpha(0.5f);
}
@Override
protected Void doInBackground(Void... params) {
/*do something */
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPreExecute();
//hide progress bar and unblur background
progressBar.setVisibility(View.GONE);
mainActivityScreen.setAlpha(1.0f);
}
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
이 코드를 Nexus 6P에서 실행하면 정확하게 수행됩니다. 새로 고침 버튼을 클릭하면 progressBar가 표시되고 (처음에는 보이지 않음) 앱이 일부 네트워크 작업을 수행하고 progressBar가 끝날 때 다시 사라집니다. 이제 이전 전화에서 동일한 코드를 실행하면 progressBar가 표시되지 않습니다. 처음에는 내가 생각 어쩌면 전화는 진행 막대를로드 할 수 없습니다하지만 나는 그것이 나타난다 (그러나 분명히 다시 사라지지 않음) 라인
progressBar.setVisibility(View.GONE);
을 떠날 때부터 문제가 아니다. 또한 네트워크 작업이 완료되는 데 약 2 초가 걸리기 때문에 알림 시간이 오래 걸리는 문제는 아닙니다.
누군가 내 최신 휴대 전화에서만 작동하며 이전 휴대 전화에서는 작동하지 않는 이유를 알려주실 수 있습니까? 나는 이것에 미치게 될 것입니다.
도움을 주신 분께 미리 감사드립니다.
편집 : XML : 나는 당신의 오류가 표시
<ProgressBar
android:id="@+id/progressBar"
style="@android:style/Widget.DeviceDefault.ProgressBar"
android:indeterminateTint="@color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:indeterminate="true"
android:visibility="gone"/>
기존 전화의 API 수준은 무엇입니까? –
@AnjalSaneen 23 –