如何解决在Android上调用界面的方法时,如何自动显示进度对话框?
我有一个具有这三种基本方法的ServerListener接口
public interface ServerListener {
void onSuccess();
void onProgress();
void onFailed(String error);
}
每次我想从服务器获取一些结果并使用onProgress()方法向用户显示进度对话框时,我都会使用这种方法:
mProgressDialog = new ProgressDialog(this);
mUserSetupViewModel.onIdentityUploadClicked(fileName,data.getData(),new ServerListener() {
@Override
public void onSuccess() {
mProgressDialog.dismiss();
}
@Override
public void onProgress() {
mProgressDialog.show();
}
@Override
public void onFailed(String error) {
mProgressDialog.dismiss();
}
});
我该如何在界面上附加进度对话框,这样我就不必每次在应用程序上的任何活动或片段上与服务器打交道时,都不必手动为进度对话框编写代码。 我只想初始化监听器,并想自动显示进度对话框并根据事件关闭。
解决方法
您可以简单地创建Activity
类的子类,然后在其中实现ServerListener
。然后从该子类扩展您的实际活动。
import android.app.ProgressDialog;
import androidx.appcompat.app.AppCompatActivity;
public class BaseActivity extends AppCompatActivity implements ServerListener {
private ProgressDialog mProgressDialog;
@Override
public void onProgress() {
mProgressDialog = new ProgressDialog(this);
mProgressDialog.show();
}
@Override
public void onSuccess() {
mProgressDialog.dismiss();
}
@Override
public void onFailed(String error) {
mProgressDialog.dismiss();
}
}
public class MyActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mUserSetupViewModel.onIdentityUploadClicked(fileName,data.getData(),this);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。