今私はこのような私のアプリケーションでMaterial Dialogを使用しています:不確かな素材ダイアログが進行中に関数を呼び出す方法はありますか?
dialog = new MaterialDialog.Builder(MainActivity.this)
.title("Please Wait")
.content("Loading")
.progress(true, 0)
.titleColor(getResources().getColor(R.color.grey))
.widgetColor(getResources().getColor(R.color.grey))
.progressIndeterminateStyle(true)
.show();
私はプログレスバーは、例えば、アドレス(のためのような を実行している間にバックグラウンドで機能を呼びたい)今はどこがすべき関数名ですこの関数を呼び出しますか?
私は確定プログレスダイアログボックスを使用して試してみましたが、私はこれは私が関数内で呼び出していますが、それはかかるので、それは最初にnull値を返すものです
while (dialog.getCurrentProgress() != dialog.getMaxProgress()) {
// If the progress dialog is cancelled (the user closes it before it's done), break the loop
if (dialog.isCancelled()) break;
// Wait 50 milliseconds to simulate doing work that requires progress
try {
Thread.sleep(50);
} catch (InterruptedException e) {
break;
}
// Increment the dialog's progress by 1 after sleeping for 50ms
dialog.incrementProgress(1);}
を考えたとして、それが働いていませんでした緯度経度を送信するモバイルGPSの時刻。私は、この関数が非null値を返すまで進捗ダイアログが表示されている間、バックグラウンドでこの関数を実行する必要があります。
private void Address() {
gps.getLocation();
if (gps.canGetLocation == false) {
// Here you can ask the user to try again, using return; for that
Toast.makeText(MainActivity.this, "Check your internet connection", Toast.LENGTH_SHORT).show();
//return;
} else {
// Getting location co-ordinates
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
// Toast.makeText(this, "Latitude:" + latitude + " | Longitude: " + longitude, Toast.LENGTH_LONG).show();
address = gps.getLocationAddress();
street = gps.getLocationArea();
String[] compare = {"Jawahar Nagar", "Tilak Nagar", "Sector 4", "Adarsh Nagar", "Gurunanakpura",
"Raja Park", "Janta Colony", "Jhalana Doongri", "Sector 5", "Sector 1", "Sector 2", "Sector 3", "Sector 6", "Sector 7"};
if (Arrays.asList(compare).contains(street) && address.equals("null")) {
int zip = Integer.parseInt("302004");
address = String.valueOf(zip);
}
}}
ようAsyncTaskを使用することができますか?あなたは不確定のプログレスバーを持ち、進行中かどうかをチェックしたいのですか?あなたは不確定な手段を知っていますか? –