2015-08-20 6 views
1

Я пытаюсь создать всплывающее окно с runnable, но я не могу. я всегда получаю «NULLPOINTEREXPEXTIONS» IM почти сделано с моим андроидом приложением, единственным, что осталось показать всплывающее окно через какое-то время, я использовал работоспособное, чтобы показать всплывающее окноСоздать всплывающее окно с Runnable Thread Android

Вот мой код, ERROR генерировать эту строку

View layout = inflater.inflate(R.layout.popup_layout,(ViewGroup) findViewById(R.id.popup_element)); 

Примечание: popup_element это идентификатор из всплывающего макета XML файла

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/popup_element" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#444444" 
android:orientation="vertical" 
android:padding="10sp" > 


public void run() { 
      //Do something after 100ms 
       initiatePopupWindow(); 
      } 

      private void initiatePopupWindow() { 
      try { 
      // We need to get the instance of the LayoutInflater 
      LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View layout = inflater.inflate(R.layout.popup_layout,(ViewGroup) findViewById(R.id.popup_element)); 
      pwindo = new PopupWindow(layout, 300, 370, true); 
      pwindo.showAtLocation(layout, Gravity.CENTER, 0, 0); 

      Button btnClosePopup = (Button) layout.findViewById(R.id.btn_close_popup); 
      btnClosePopup.setOnClickListener(cancel_button_click_listener); 

      } catch (Exception e) { 
      e.printStackTrace(); 
      } 
     } 

      private OnClickListener cancel_button_click_listener = new OnClickListener() { 
      public void onClick(View v) { 

     pwindo.dismiss(); 

      } 
      }; 

     }, 700); 
     } 
    } 

ERROR LOG

D/gralloc_goldfish(906): Emulator without GPU emulation detected. 
 
W/System.err(906): java.lang.NullPointerException 
 
W/System.err(906): \t at com.example.runnable_with_popup.MainActivity$1.initiatePopupWindow(MainActivity.java:43) 
 
W/System.err(906): \t at com.example.runnable_with_popup.MainActivity$1.run(MainActivity.java:34) 
 
W/System.err(906): \t at android.os.Handler.handleCallback(Handler.java:730) 
 
W/System.err(906): \t at android.os.Handler.dispatchMessage(Handler.java:92) 
 
W/System.err(906): \t at android.os.Looper.loop(Looper.java:137) 
 
W/System.err(906): \t at android.app.ActivityThread.main(ActivityThread.java:5103) 
 
W/System.err(906): \t at java.lang.reflect.Method.invokeNative(Native Method) 
 
W/System.err(906): \t at java.lang.reflect.Method.invoke(Method.java:525) 
 
W/System.err(906): \t at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
 
W/System.err(906): \t at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
 
W/System.err(906): \t at dalvik.system.NativeStart.main(Native Method)

Пожалуйста, помогите мне с этой проблемой. я искал через Интернет, но не нашел пример или вопрос, связанный с моей проблемой помощи буду оценен

благодаря

+1

разместим ваш стек ошибок – Sharj

+0

уверен, я буду после моего кота Log, когда я вернусь домой @Sharj –

+0

Журнал ошибок добавлен, пожалуйста, проверьте @Sharj –

ответ

2

Родитель может отсутствовать, поставить ложен на последнюю часть

View layout = inflater.inflate(R.layout.popup_layout,(ViewGroup) findViewById(R.id.popup_element),false); 
+0

В большинстве случаев раздувание с помощью родительских причин nullpointer – Sheychan

+0

Я использовал ** false **, но он не работает. Кроме того, я публикую журнал ошибок, надеюсь, вы сможете найти лучшее решение @Sheychan –

+0

что такое контекст? – Sheychan

0

использования этого один

View popupView = layoutInflater.inflate(R.layout.popup_layout, null);