Timmy-zzh / TDialog

DialogFragment封装,高效实现各种弹窗效果
482 stars 93 forks source link

怎么在外部获取布局中的子控件? #24

Closed ZQiang94 closed 6 years ago

ZQiang94 commented 6 years ago

例如在加载框中 要动态设置进度,该怎么操作呢? 看了代码没有提供这个方法。 求加下qq指导一下,452608069

Timmy-zzh commented 6 years ago

现在是通过bindViewHolder.getView(R.id.tv_title);获取控件,我会在TDialog也暴露一个方法出来,下午出一个版本

ZQiang94 commented 6 years ago

好的

Timmy-zzh commented 6 years ago

在TDialog获取弹窗控件的对象,因为生命周期的问题,布局还没加载完成,这个时候是拿不到控件对象的,所以还是要通过BindViewHolder来获取,具体可查看app模块的例子 public void progressDialog(final View view) { tDialog = new TDialog.Builder(getSupportFragmentManager()) .setLayoutRes(R.layout.dialog_loading_progress) .setScreenWidthAspect(this, 0.8f) .setCancelableOutside(true) .setOnBindViewListener(new OnBindViewListener() { @Override public void bindView(BindViewHolder viewHolder) { progressBar = viewHolder.getView(R.id.progress_bar); tvProgress = viewHolder.getView(R.id.tv_progress); } }) .setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { handler.removeMessages(WHAT_PROGRESS); currProgress = 5; } }) .create() .show(); handler.sendEmptyMessageDelayed(WHAT_PROGRESS, 1000); }

Timmy-zzh commented 6 years ago

新版本2.0有用法

ZQiang94 commented 6 years ago

thx.