Android里TabActivity套TabActivity时,ProgressDialog发生异常的解决办法。

 

 初始化每个RadioButton并为其添加setOnCheckedChangeListener事件,当点击相应的RadioButton时就可以通过setCurrentTabByTag()方法显示到当前页面。

  Java代码 收藏代码

  private void initRadios() {

  ((RadioButton) findViewById(R.id.main_index_button))

  .setOnCheckedChangeListener(this);

  ((RadioButton) findViewById(R.id.main_running_button))

  .setOnCheckedChangeListener(this);

  ((RadioButton) findViewById(R.id.main_uninstall_button))

  .setOnCheckedChangeListener(this);

  }

  @Override

  public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

  if(isChecked){

  switch (buttonView.getId()) {

  case R.id.main_index_button:

  tabHost.setCurrentTabByTag("Main");

  break;

  case R.id.main_running_button:

  tabHost.setCurrentTabByTag("RunManager");

  break;

  case R.id.main_uninstall_button:

  tabHost.setCurrentTabByTag("UninstallManager");

  break;

  }

  }

  }

  小结:

  1、在一个tabActivity里面嵌套一个tabAcitivity, 如果在子tabActivity里面显示AlertDialog、ProgressDialog的话,就会引发此错误:android.view.WindowManager$BadTokenException: Unable to add window

  解决方法:

  可以把创建dialog时传递的参数xxx.this改成this.getParent(),其中的xxx为Activity

上一篇:31. Springboot中使用RestTemplate


下一篇:nodeJS搭建本地服务器