여기에 정말 이상한 문제가 있습니다. 내 모토 G, 안드로이드 4.4에서 잘 작동하는 PopupWindow 있습니다. 하지만 지금은 갤럭시 Y 안드로이드 2.3.6에서 테스트 중이며 팝업이 인스턴스화에 충돌하고있는 것으로 보입니다.인스턴스화시 PopupWindow가 충돌 함
내 코드 :
팝업 변수는 전역 변수로 선언// Function called when user hit the send button on screen
public void showPopUp (View v) {
// Getting location of the popup window
int [] location = new int[2];
imgBtn.getLocationOnScreen(location);
p = new Point();
p.x = location[0];
p.y = location[1];
int popupWidth = 300;
int popupHeight = 200;
// Changing button icon
imgBtn.setBackgroundResource(R.drawable.img_on);
// Inflate the popup_layout.xml
LinearLayout viewGroup = (LinearLayout) findViewById(R.id.popup);
LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = layoutInflater.inflate(R.layout.send_image_popup, viewGroup);
// Creating the PopupWindow
popup = new PopupWindow();
Log.d("POPUP", "dummiedebug");
popup.setContentView(layout);
popup.setWidth(popupWidth);
popup.setHeight(popupHeight);
popup.setFocusable(true);
// Some offset to align the popup a bit to the right, and a bit up, relative to button's position.
int OFFSET_X = 1;
int OFFSET_Y = 30;
popup.setBackgroundDrawable(new BitmapDrawable());
// Displaying the popup at the specified location, + offsets
popup.showAtLocation(layout, Gravity.NO_GRAVITY, p.x + OFFSET_X, p.y - OFFSET_Y - popupHeight);
// Changing photo ico back to gray
popup.setOnDismissListener(new PopupWindow.OnDismissListener() {
@Override
public void onDismiss() {
imgBtn.setBackgroundResource(R.drawable.img_off);
}
});
}
:
private PopupWindow popup;
임 수신 스태킹 오류는 다음과 같습니다
03-30 20:59:01.398: E/AndroidRuntime(27008): FATAL EXCEPTION: main
03-30 20:59:01.398: E/AndroidRuntime(27008): java.lang.IllegalStateException: Could not execute method of the activity
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.view.View$1.onClick(View.java:2144)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.view.View.performClick(View.java:2485)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.view.View$PerformClick.run(View.java:9080)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.os.Handler.handleCallback(Handler.java:587)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.os.Handler.dispatchMessage(Handler.java:92)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.os.Looper.loop(Looper.java:130)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.app.ActivityThread.main(ActivityThread.java:3687)
03-30 20:59:01.398: E/AndroidRuntime(27008): at java.lang.reflect.Method.invokeNative(Native Method)
03-30 20:59:01.398: E/AndroidRuntime(27008): at java.lang.reflect.Method.invoke(Method.java:507)
03-30 20:59:01.398: E/AndroidRuntime(27008): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
03-30 20:59:01.398: E/AndroidRuntime(27008): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
03-30 20:59:01.398: E/AndroidRuntime(27008): at dalvik.system.NativeStart.main(Native Method)
03-30 20:59:01.398: E/AndroidRuntime(27008): Caused by: java.lang.reflect.InvocationTargetException
03-30 20:59:01.398: E/AndroidRuntime(27008): at java.lang.reflect.Method.invokeNative(Native Method)
03-30 20:59:01.398: E/AndroidRuntime(27008): at java.lang.reflect.Method.invoke(Method.java:507)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.view.View$1.onClick(View.java:2139)
03-30 20:59:01.398: E/AndroidRuntime(27008): ... 11 more
03-30 20:59:01.398: E/AndroidRuntime(27008): Caused by: java.lang.NullPointerException
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.widget.PopupWindow.setContentView(PopupWindow.java:384)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.widget.PopupWindow.<init>(PopupWindow.java:286)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.widget.PopupWindow.<init>(PopupWindow.java:266)
03-30 20:59:01.398: E/AndroidRuntime(27008): at android.widget.PopupWindow.<init>(PopupWindow.java:223)
03-30 20:59:01.398: E/AndroidRuntime(27008): at br.com.chatApp.activities.Chat.showPopUp(Chat.java:224)
03-30 20:59:01.398: E/AndroidRuntime(27008): ... 14 more
가 나는 또한 그것을 debbuged 적절한 방법과 것은 단지 new PopupWindow()
명령에 충돌합니다 : S
라인 224 란 무엇입니까? – codeMagic