サーバーをポーリングするときに進行状況ダイアログを開かせようとしています。クラスはタブバー内にネストされているため、ActivityGroupです。ビューをフレーム内に維持するには、ActivityGroupが必要です。これが私のActivityGroupクラスの宣言です:
public class CheckInActivity extends ActivityGroup{
...
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.checkin);
new LocationControl().execute(this);
これで、AsyncTaskクラスは同じCheckInActivityClass内にあります。
private class LocationControl extends AsyncTask<Context, Void, Void>
{
private final ProgressDialog dialog = new ProgressDialog(CheckInActivity.this);
protected void onPreExecute()
{
this.dialog.setMessage("Determining your location...");
this.dialog.show();
}
指定されたアプリを実行すると、WindowManager$BadTokenExceptionに関連するエラーが発生します。不明なトークンでウィンドウを開始することはできません。通常のActivity(ActivityGroupではない)のサンプルアプリを作成してみましたが、問題なく動作しました。
これを変更して機能させる方法、またはプログレスバーをタブバー内にネストできるようにする回避策を知っている人はいますか?どんな助けでも大歓迎です。