轉載自:http://blog.csdn.net/happy_bug/article/details/7911060
若在Activity的onCreate()方法中直接寫彈出PopupWindow方法會報錯,因爲activity沒有完全啓動是不能彈出PopupWindow的。
那我們只需要在activity完全啓動後再彈出PopupWindow就行了。
第一種方法: 利用Activity的 onWindowFocusChanged()方法
- @Override
- public void onWindowFocusChanged(boolean hasFocus) {
- // TODO Auto-generated method stub
- super.onWindowFocusChanged(hasFocus);
- // 彈出PopupWindow的具體代碼
- }
第二種方法: 利用Handler和Runnable
- private Handler mHandler = new Handler();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mHandler.postDelayed(mRunnable, 500);
- }
- private Runnable mRunnable = new Runnable() {
- public void run() {
- // 彈出PopupWindow的具體代碼
- }
- };