【发布时间】:2016-01-30 16:55:35
【问题描述】:
我的代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.activity_game);
//initialize arks
new Timer().schedule(new TimerTask() {
@Override
public void run() {
initializeArks();
}
}, 2000);
}
没什么特别的,这里是initializeArks():
public void initializeArks(){
iv= (ImageView) findViewById(R.id.imageView);
tw= (TypeWriter) findViewById(R.id.textView);
CountDownTimer timer = new CountDownTimer(10, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
iv.setImageResource(R.drawable.loading);
}
}.start();
}
请记住,此代码仅用于调试,它没有做任何具体的事情,但我发现问题出在 ImageView
我还声明了我的变量 STATIC 以便在我的其他类中使用它们:
public static ImageView iv;
public static TypeWriter tw;
我的 XML 是基本的:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
如果有人向我解释为什么这不起作用,或者会给我发送一个工作代码 sn-p 供我仅用于一个目的:显示图像,我将不胜感激。
一旦我在手机上安装应用程序并打开它,我会等待 4 秒(这就是我上面的代码延迟它的时间)然后它就崩溃了
【问题讨论】:
-
不要为视图类型创建静态变量,因为这会导致内存泄漏,因为视图持有对您的活动对象的引用。
-
你到底想做什么???
-
doesnt work是什么意思?请发布您的日志。 -
您应该正确描述您的问题,而不仅仅是粘贴您的代码。另外,尝试为您的图像视图设置一个固定的高度/宽度,或在您的 xml 中设置
adjustViewBounds="true"
标签: java android view static imageview