sbtvd 2011-10-09 14:27 采纳率: 0%
浏览 1106
已采纳

Dialog怎么销毁或者改变里面的内容?

。。。。。
private Dialog dialogM;
。。。。。。
showDialog(0);
。。。。

@Override
protected Dialog onCreateDialog(int id) {
  if(id==0)
  {
   ListView listView = new ListView(this);
   listView.setAdapter((ListAdapter) FileManager.getAdapter(this, listView, path));
   listView.setOnItemClickListener(new OnItemClickListener(){
    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1,
      int arg2, long arg3) {
     LinearLayout ll = (LinearLayout) arg1;
     // 获取其中的TextView
     TextView typeview = (TextView) ll.getChildAt(3);
     if (typeview != null &&"0".equals(typeview.getText())) {
      TextView pathview = (TextView) ll.getChildAt(2);
      path = pathview.getText().toString();
      dialogM.cancel();
     
     }
     else if(typeview != null &&"1".equals(typeview.getText()))
     {
      TextView pathview = (TextView) ll.getChildAt(2);
      path = pathview.getText().toString();
      dialogM.dismiss();
      showDialog(0);
     }
    
    }
   
   });
   dialogM= new AlertDialog.Builder(this).setTitle("xx").setView(listView).create();
   return dialogM;
  }
  return super.onCreateDialog(id);
}

创建了dialog后  不管调用cancel()还是dismiss(),再次调用showDialog(0)时不进入onCreateDialog()方法。显示的内容还是之前的内容,本来是一个文件目录显示的dialog,要重新根据path查找目录下的目录和文件显示的。 
 

 

  • 写回答

1条回答 默认 最新

  • 一口三个汉堡 2011-10-09 14:37
    关注

    OnCreateDialog方法只运行一次,以后的打开dialog会调用onPrepareDialog方法,所以你要改变dialog的内容就应该这个方法里面改.下面的代码是我的demo代码,这些代码在onCreateDialog里面就只会显示dddd,而在onPrepareDialog方法里面就会一直变化.
    protected void onPrepareDialog(int id, Dialog dialog) {
    // TODO Auto-generated method stub
    super.onPrepareDialog(id, dialog);
    if(isClick)
    {
    TextView tv1 = new TextView(this);
    tv1.setText("测试得得得得得得得得得得得 ");
    dialog.setContentView(tv1);
    isClick = false;
    }else
    {
    TextView tv1 = new TextView(this);
    tv1.setText("ddddddddddddddddddddd ");
    dialog.setContentView(tv1);
    isClick = true;
    }
    Log.d("ddd", ""+isClick);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值