当前位置: 首页 > 知识库问答 >
问题:

如何在静态方法中使用findViewById?

糜帅
2023-03-14

我希望在从另一个类调用的方法“SetTotalSum”中使用findViewById。我如何使用它,尽管它是一个静态方法?

public SecondaryDisplay(Context outerContext, Display display) {
    super(outerContext, display);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_display);
}

public static void setTotalSum (String invoiceTotalSum){
    TextView totalPrice = (TextView)findViewById(R.id.invoicePrice);
    totalPrice.setText(invoiceTotalSum);
}

共有1个答案

邰宇
2023-03-14
  • 如果两个类在同一个包中,则按类名直接调用另一个类的静态方法。
public class A {
    public static some() {
      ...
    }
}
public class B {
    public static someExtra() {
      A.some(); //call by class name
      
      A a = new A();
      a.some(); //call by refrence also
    }
}

但是如果有些方法不是静态的,那么就创建一个类的对象,然后调用该方法。

public class B {
    public static someExtra() {
        A a = new A();
        a.some();
    }
}

注意:-如果两个类是在diffrent包,那么必须包括导入。

 类似资料:
  • 我有:MyFile.java: 我的应用程序中的代码: 如何连接此文件?(从Qt(c)代码运行静态方法)

  • 我在想什么时候使用静态方法?假设我有一个类有几个getter和setter,一两个方法,并且我希望这些方法只能在类的实例对象上调用。这是否意味着我应该使用静态方法? 示例: ...或: 我很困惑!

  • 问题内容: 我是JSP的新手。我尝试连接MySQL和我的JSP页面,并且工作正常。但是这是我需要做的。我有一个名为“ balance”的表格属性。检索它并使用它来计算一个称为“金额”的新值。(我不是在打印“余额”)。 似乎不可能在JSTL标签中插入scriptlet。 问题答案: 你不能直接在EL中调用静态方法。EL将仅调用实例方法。 对于失败的scriptlet尝试,你不能混合scriptlet

  • 我正在Junit上工作 这就是我所做的。我已发出请求,并且我的请求已成功调用我的控制器。当我尝试使用要测试是否调用了静态方法,我得到一个错误,如下所示。 我得到的错误是: 我的问题是: > 我可以使用在我的方法。如果"是"如何? 我还想在上使用验证。我该怎么做呢? 任何帮助都是值得赞赏的。

  • 问题内容: 主题行基本上说明了一切。我有一个静态方法要拦截,以便可以将周围的建议应用于该方法。我可以使它与任何非静态方法一起使用,但是我不确定如何允许静态方法被拦截。 问题答案: 使用Spring AOP不能做到这一点,因为它是基于代理的。您必须使用AspectJ。看一个简单的例子:http : //blog.jayway.com/2007/02/16/static-mock-using- asp

  • 问题内容: 我有一个类,我正在为应该执行以下操作的方法编写测试: 1)它应该调用静态方法上 2)它应该从子类方法填充变量 3)它应该从传递String参数的最终帮助器类中调用静态方法 4)它应该在blockList中调用每个的run方法 到目前为止,我有这个空方法: 我正在使用JUnit,Mockito来模拟对象,并且尝试使用PowerMockito来模拟静态类和最终类(Mockito不能这样做)