gpt4 book ai didi

java - 如何从基础应用程序访问方法?

转载 作者:行者123 更新时间:2023-12-01 17:59:54 24 4
gpt4 key购买 nike

我扩展了“Application”类并创建了自定义方法“doSomething”。我使用 list 将此类设置为整个应用程序的基类。现在,我如何从 MainActivity 访问这个“doSomething”方法?

public class App extends Application {

public void something()
{
//do nothing
}
}

list :

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.test"
xmlns:android="http://schemas.android.com/apk/res/android">

<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name=".App"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>

</manifest>

编辑:首先,感谢您的所有回答,但我对我的意见感到抱歉。我忘了提及,我想以与覆盖相同的方式访问它。为什么?因为我要在“App”中初始化某些内容(需要几毫秒),只有在此之后,我才能继续在 MainActivity 中使用这些值。

现在我使用“BaseActivity”,它初始化用户对数据库的访问。但每个 Activity 都会打开"new"连接,这似乎是浪费时间。我只需要登录数据库一​​次,并将此引用用于所有 Activity 。这就是为什么我在“BaseActivity”中创建方法“dataReady”,用“BaseActivity”扩展“MainActivity”并覆盖方法“dataReady”以初始化适配器和其他内容。

public class BaseActivity extends Activity {

void dataReady()
{

}
}

public class MainActivity extends BaseActivity {

@Override
void dataReady()
{

}
}

最佳答案

很简单,在您的Main Activity中使用getApplication()方法

((App)getApplication()).doSomething();

关于java - 如何从基础应用程序访问方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41848045/

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