如何将变量/参数传递给android视图方法

Posted

技术标签:

【中文标题】如何将变量/参数传递给android视图方法【英文标题】:How to pass variable/parameter to android view method 【发布时间】:2021-01-24 19:52:44 【问题描述】:

我是 *** 和 JAVA 的新手。 忽略catch 这工作正常。

public int GetHeight (androidViewComponent Component) 
        try 
            return Component.getView().getHeight();
        
        catch (Exception e) 
            return -0000;
        
    

我遇到了构建错误。

public int GetMethod (AndroidViewComponent Component , string get) 
        try 
            return Component.getView().get();
        
        catch (Exception e) 
            return -0000;
        
    

我想减少代码。 如果,如果,如果,如果,......否则 所以我想直接把get这个参数传给方法。

Component.getView().get();

有什么办法吗?

【问题讨论】:

【参考方案1】:

你不能在函数的参数中传递要访问的方法名,因为当你编译你的代码时,所有的方法名都被重命名为随机变量,以防止黑客攻击。所以没有动态调用变量名。

除非,您从字符串参数执行 if/else 并以这种方式调用方法。示例:-

public int GetXonScreen (AndroidViewComponent Component, String nameOfMethod) 
        try 
            int[] location = new int[2];
            if (nameOfMethod == "height") 
              return Component.getView().getHeight();
             else if (nameOfMethod == "width") 
              return Component.getView().getWidth();
             else return 0;
        
        catch (Exception e) 
            return -0000;
        
    

【讨论】:

它给出了这个编译错误。 missing return statement 不接受 return 与 if...else 是的,你需要添加final else,以防万一如果没有选择if,那么应该返回一些默认的return语句

以上是关于如何将变量/参数传递给android视图方法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用底部导航视图和 Android 导航组件将参数传递给片段?

如何将参数传递给配置单元视图,以便视图根据传递的内容进行更改?

如何将参数传递给Django中模板变量的方法?

如何将参数传递给 Core Data 生命周期方法?

将参数传递给复合视图

如何将变量参数传递给 C++ 中的 DBUS 方法调用?