startChronometer在主活动中声明方法时,如何在另一个类中调用该方法?
内部MainActivity:
public void startChronometer() {
mChronometer.start();
showElapsedTime();
}
Run Code Online (Sandbox Code Playgroud)
在另一个课程中,我试图这样做:
MainActivity mActivity;
mActivity.startChronometer();
Run Code Online (Sandbox Code Playgroud)
但是发生了一个错误:
java.lang.NullPointerException.
Run Code Online (Sandbox Code Playgroud)
我可以知道还需要添加什么代码吗?
我有一个主要的活动,它召唤另一个活动来显示一些数据.
我有一个私有数据库助手对象,我在整个主要活动代码中使用.有没有办法以优雅的方式将我的主要活动的上下文传递给我的子活动?(即,从子类,类似的东西getCallingActivityContext())
我总是可以创建新的数据库帮助程序对象.
我有以下代码,我使用应用程序上下文来检索所需的信息:
public class Data{
private boolean VarA;
public void setVarA(boolean B,Context ctx)
{
SharedPreferences CoreDataStorage = ctx.getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = CoreDataStorage.edit();
editor.putBoolean("PrefVarA", VarA);
edit.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我从下面的类调用公共方法setVarA()
public class MyActivity extends Activity{
Data cd = new Data();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.registration);
cd.setVarA(true,this);
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的活动中,它向我显示了无法从MyActivity转换为Context的编译错误.请建议任何解决方案.上面的代码是不是传递上下文的正确方法?
如何创建 Activity 对象并像普通 java 一样调用其生命周期方法class。例如,
在安卓中
class ABC extends Activity{}
Run Code Online (Sandbox Code Playgroud)
new ABC().onCreate(null);
Run Code Online (Sandbox Code Playgroud)