我正在制作一个,当我想将上下文传递到使用关键字和方法在封闭范围内运行的静态函数SplashActivity
时,我遇到了问题。SplashActivity
CountDownTimer
this
getBaseContext()
长话短说
我试图弄清楚如何访问SplashActivity
封闭范围内的上下文,即CountDownTimer
.
我尝试过的:
SplashActivity temp = this
我已经对的方法做了SplashActivity temp = this;
声明,但决定这对我所做的所有事情都无效,因为我必须为我所做的每个类进行声明。onCreate
Activity
Activity
Activity
Activity
Context temp = this.getBaseContext();
基本上与上面相同,但对所有的都更灵活,Activity
但在我看来对于该程序仍然无效。
ClassName.staticFunction(super.getBaseContext());
这不会起作用,因为它CountDownTimer
不是extends
来自SplashActivity
,尽管这种解决方案是我一直在寻找的解决方案。
代码:
SplashActivity.java
public class SplashActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
//...
new CountDownTimer(3000,100) {
//...
public void onFinish() {
MainActivity.StartActivity( SplashActivity.getBaseContext() );
//SplashActivity. will throw an error, must replace
finish();
}
}.start();
}
}
MainActivity.java
public class MainActivity extends Activity {
...
public static void StartActivity(Context mContext) {
Intent act = new Intent(mContext, MainActivity.class);
mContext.startActivity(act);
}
}
我的期望:
运行MainActivity.StartActivity(something.getBaseContext)时SplashActivity CountDownTimer无需创建任何附加变量(因为内存优化),创建视图MainActivity。
杨魅力
相关分类