对于自定义Dialog需调用啥方法将动态创建的视图dialogview显示到Dialog上?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于自定义Dialog需调用啥方法将动态创建的视图dialogview显示到Dialog上?相关的知识,希望对你有一定的参考价值。

参考技术A 通过Activity.showDialog(int id)来显示对话框
public void inputPwd()//LayoutInflater是用来找layout下xml布局文件,并且实例化;
加载配置文件来创建一个对话框,然后"输入密码";添加 " OK " 按钮的单击事件,必须在findViewById()方法之前写上layView,否则默认为main.xml,从对话框中获取到的数据赋值给inputPwd,从数据库中获取密码,并将其赋值给pwdDB,如果输入的密码等于数据库中的密码,返回首页。

DATAGridViewCell 自定义视图按钮操作方法没有被调用?

【中文标题】DATAGridViewCell 自定义视图按钮操作方法没有被调用?【英文标题】:GMGridViewCell CustomView Button action method is not getting called? 【发布时间】:2012-11-02 19:04:55 【问题描述】:

我有一个带有 GMGridView 的视图控制器,其中有 4 个 GMGridViewCell。对于每个单元格视图,我使用单独的视图控制器视图作为单元格的内容视图。正在加载到 GMGridVeiwCell 中的视图控制器具有按钮。当我点击 GMGridViewCell 中的按钮时,按钮的 IBAction 方法不会被调用。谁可以帮我这个事?如何捕捉按钮动作?

【问题讨论】:

【参考方案1】:

一个简单的解决方案是在GMGridView 类中覆盖- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch,如下所示:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

    if(gestureRecognizer == _tapGesture) 

        UIView* touchedView = [touch view];
        if([touchedView isKindOfClass:[UIButton class]]) 

            return NO;
        
    

    return YES;

这么说,你可以依靠这个讨论来获得更多信息:GMGridView discussion。

让我知道这是否能解决问题。此外,你为什么要为每个自定义视图设置一个控制器?我认为实现您的目标的最简单方法是为您的自定义视图创建一个委托。委托将是包含GMGridView 的控制器。当您单击自定义视图中的按钮时,您会调用委托并做出相应的响应。

希望对您有所帮助。

【讨论】:

以上是关于对于自定义Dialog需调用啥方法将动态创建的视图dialogview显示到Dialog上?的主要内容,如果未能解决你的问题,请参考以下文章

优化自定义Dialog的弹出速度

android怎样自定义dialog

Android:SectionIndexer 的自定义视图布局和动态禁用 SectionIndexer

自定义Dialog以及Dialog返回值到Activity

Android:创建自定义视图并将其动态添加到布局中

dll动态调用和静态调用有啥区别