有些是转的。
在asyncTask的doInBackground()中,或Runable的run()中,或TimerTask的run()中
new Handler()就会失败。
java.lang.IllegalStateException: TimerTask is scheduled already
当cancle掉一个TimerTask,这个Task就不能再用了。必须重新new一个。
nextStepTask = new NextStepTimerTask();
nextStepTimer.schedule(nextStepTask, 0, 1000);
WebpageActivity.this.getResources().getText(R.string.search_page_test).toString()
很多人使用startActivity时候,会碰到如下的异常:
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
我曾经也遇到过,不过后来研究了一下之后,明白了原理,记下来,以为碰到同样困扰的兄弟们解惑。
都知道,Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。
【解决方法】
在cmd窗口一条命令就可以了://然后mkdir aaa试一下ok
/** * Obtains the LayoutInflater from the given context. */ public static LayoutInflater from(Context context) { LayoutInflater LayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if (LayoutInflater == null) { throw new AssertionError("LayoutInflater not found."); } return LayoutInflater; }
s
style = "@android:style/TextAppearance.StatusBar.EventContent"//from api 9
android:textAppearance="?android:attr/textAppearanceSmall"
if(android.os.Build.VERSION.SDK_INT<=android.os.Build.VERSION_CODES.FROYO)
//这是小于等于2.2(api<=8)
s
s