gpt4 book ai didi

java - 如何从android中的静态方法调用非静态方法

转载 作者:太空宇宙 更新时间:2023-11-03 11:59:44 25 4
gpt4 key购买 nike

我在从静态方法调用非静态方法时遇到了一个大问题。

这是我的代码

Class SMS
{
public static void First_function()
{
SMS sms = new SMS();
sms.Second_function();
}

public void Second_function()
{
Toast.makeText(getApplicationContext(),"Hello",1).show(); // This i anable to display and cause crash
CallingCustomBaseAdapters(); //this was the adapter class and i anable to call this also
}

我可以调用 Second_function 但无法获取 Toast 和 CallCustomBaseAdapter() 方法,发生崩溃。

我应该怎么做才能解决这个问题?

最佳答案

  public static void First_function(Context context)
{
SMS sms = new SMS();
sms.Second_function(context);
}

public void Second_function(Context context)
{
Toast.makeText(context,"Hello",1).show(); // This i anable to display and cause crash
}

实现此目的的唯一解决方案是您需要将当前上下文作为参数传递。我只为 Toast 编写了代码,但您需要根据您的要求对其进行修改。

从您的 Activity First_function(getApplicationContext()) 等传递上下文。

静态字符串

public static String staticString = "xyz";

public static String getStaticString()
{
return staticString;
}


String xyz = getStaticString();

关于java - 如何从android中的静态方法调用非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12797355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com