【发布时间】:2012-07-09 07:39:43
【问题描述】:
当我运行这个线程时,当前出现 NULL 指针异常
public void run() {
long idle = 0;
this.touch();
do {
idle = System.currentTimeMillis() - lastUsed;
Log.d(TAG, "Application is idle for " + idle + " ms");
if ((idle > 5000) && (check == false)) { // Checking For 2 Minutes.
Log.e("AthanAd", "2 minutes over - Show Ad.");
adView = (AdView) view.findViewById(R.id.adView);
adView.loadAd(new AdRequest());
check = true;
}
try {
Thread.sleep(8000); // check every 5 seconds
} catch (InterruptedException e) {
Log.d(TAG, "Waiter interrupted!");
}
if (idle > period) {
idle = 0;
// do something here - e.g. call popup or so
}
} while (!stop);
Log.d(TAG, "Finishing Waiter thread");
}
我在这一行遇到了异常。
adView = (AdView) view.findViewById(R.id.adView);
在应用程序的顶部我声明了 View view; 但我知道我没有将它链接到任何视图。
我的问题是:如何让视图在屏幕上可见?
【问题讨论】:
-
使用
SetVisibility(..)方法使视图可见 -
您必须使用 findViewById 方法初始化“view”变量。
-
我该怎么做。请举例说明在这个场景中初始化视图的正确方法是什么?
标签: android android-layout android-viewpager android-view android-viewbinder