2017-06-23 38 views
-2

我有一個名爲MyApp類擴展在Android Studio中的應用類如何在Android Studio中使用進度對話框中的應用類

我的意思是每一個應用程序啓動時需要從本地端調用數據

比方說,比如我有本地side..this數據的100級的時候,應用程序啓動

用於創建命名爲對myApp一個類擴展應用

,所以我可以調用每一個應用程序打開的數據必須需要調用每次時間

所以我在這裏調用數據檢索方法。

,但用戶需要知道像數據的東西被加載背景..

,所以我想在這個應用程序類

 public class myApp extends Application { 

     Context mContext; 


     //so i used like this 

    //1 st way 

    mContext = getApplicationContext(); 

    ProgressDialog dialog=ProgressDialog.show(mContext, "Data", 
    "Synching"); 
    dialog.show(); 

    //2 nd way 

    mContext = this; 

    ProgressDialog dialog=ProgressDialog.show(mContext, "Data", 
    "Synching"); 
    dialog.show(); 

    //3 rd way 

ProgressDialog dialog=ProgressDialog.show(getApplicationContext(), 
"Data", 
    "Synching"); 
    dialog.show(); 

//4 th way 

ProgressDialog dialog=ProgressDialog.show((myApp.this, "Data", 
    "Synching"); 
    dialog.show(); 

    } 

它給這個例外,使用進度對話框。

 android.view.WindowManager$BadTokenException: Unable to add 
    window -- token null is not for an application 

我嘗試了這些方法,但我失敗了

所有情況下失敗....

所以我怎樣才能顯示在完成數據如何關閉進度對話框

後,當數據獲取時間進度對話框

在此先感謝

+1

你應該考慮重寫你的答案,老實說,我coudln't使用ProgressDialog弄清楚你在說什麼,除了幾句話。根據我的理解,您需要檢索顯示進度的數據:通常的過程是創建自定義AsyncTask,在doInBackground中加載數據併發布onProgressUpdate的進度更新。然後,一旦完成,您可以通過onPostExecute停止對話。 –

+0

請嘗試增強問題的格式以及句子的表述。 – kiltek

+0

只是我在說 我想使用的應用程序類進度對話框 我想我在這個問題提到的那些方式 你能提供給我現在回答 – Stack

回答

0

代替這樣做你可以創建一個SuperActivity所有你的子活動

class SuperActivity extends AppCompatActivity{ 
// here you can put you data which is common for all activities 
    public void showProgressBar(){ 
     // write your code here to show progress bar 
    } 
    public void hideProgressBar(){ 
     // write your code here to dismiss progress bar 
    } 
} 
class Activity1 extends SuperActivity{ 
} 
class Activity2 extends SuperActivity{ 
} 
class Activity3 extends SuperActivity{ 
} 
+0

看這是我的課 公共類MyApplication的擴展應用{ //這裏我應該使用進度條...因爲我在上面解釋了我的場景 } – Stack

+0

不要使用應用程序類來處理數據,使用superActivity,無論您使用的方法是錯誤的,您都無法從ui元素從應用程序類 – Rahul

0

是有可能在應用類

public class ApplicationClass extends Application { 
    ProgressDialog pd; 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     pd = new ProgressDialog(this.getApplicationContext(),R.style.MyTheme); 
     pd.setCancelable(false); 
     pd.setProgressStyle(android.R.style.Widget_ProgressBar_Small); 
     pd.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 
     pd.show(); 
    } 
} 

不要忘記添加的權限

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 
+0

不適用於Android 6.0.1'無法添加窗口android.view。ViewRootImpl $ W @ 3ba724e - 此窗口類型的權限被拒絕。是的,我添加了許可。 – m0skit0

相關問題