継承した子クラスのポップアップの終了とフィニッシュ

405 views
Skip to first unread message

ゆゆ

unread,
Oct 1, 2011, 1:24:24 AM10/1/11
to 日本Androidの会
私はゆゆと申します。
お世話になっております。

基本クラスを一つ作り、それを子クラスに継承しています。
そして終了ボタンはポップアップで表示されています。

因みに他のアイコンをクリックしたら何も表示されず、うまくいきました。



以下がエラーを出しているソースとエラーコードです。
//エラーのでる部分
if( popupmore.isShowing() ){
popupmore.dismiss();
}else{
popupmore.showAsDropDown(mmore, 0, 10);←ここ
}
//アイコンクリックの処理
public void powerset(ImageView Iv){
Iv.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
finish();
}
});;
}


10-01 05:02:14.368: ERROR/WindowManager(325): Activity
in.webviews.TOPViews has leaked window
android.widget.LinearLayout@44ea31a0 that was originally added here
10-01 05:02:14.368: ERROR/WindowManager(325):
android.view.WindowLeaked: Activity in.webviews.TOPViews has leaked
window android.widget.LinearLayout@44ea31a0 that was originally added
here
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.view.ViewRoot.<init>(ViewRoot.java:247)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.view.Window$LocalWindowManager.addView(Window.java:424)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.widget.PopupWindow.invokePopup(PopupWindow.java:828)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.widget.PopupWindow.showAsDropDown(PopupWindow.java:740)
10-01 05:02:14.368: ERROR/WindowManager(325): at
in.webviews.WebViews$3.onClick(WebViews.java:1564)←ここ
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.view.View.performClick(View.java:2408)
10-01 05:02:14.368: ERROR/WindowManager(325): at android.view.View
$PerformClick.run(View.java:8816)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.os.Handler.handleCallback(Handler.java:587)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.os.Handler.dispatchMessage(Handler.java:92)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.os.Looper.loop(Looper.java:123)
10-01 05:02:14.368: ERROR/WindowManager(325): at
android.app.ActivityThread.main(ActivityThread.java:4627)
10-01 05:02:14.368: ERROR/WindowManager(325): at
java.lang.reflect.Method.invokeNative(Native Method)
10-01 05:02:14.368: ERROR/WindowManager(325): at
java.lang.reflect.Method.invoke(Method.java:521)
10-01 05:02:14.368: ERROR/WindowManager(325): at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-01 05:02:14.368: ERROR/WindowManager(325): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-01 05:02:14.368: ERROR/WindowManager(325): at
dalvik.system.NativeStart.main(Native Method)

元木

unread,
Oct 1, 2011, 6:22:02 AM10/1/11
to android-g...@googlegroups.com
こんばんは、元木です。

"that was originally added here"
などのエラーメッセージで検索すると、結構たくさんヒットするので
ヒントが得られると思います。

推測ですが、ポップアップを表示させる前に、どこかで
親のアクティビティ(TOPViews?)を終了させてしまっているのでは?
と思います。

2011年10月1日14:24 ゆゆ <cuach....@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


ゆゆ

unread,
Oct 3, 2011, 5:56:10 AM10/3/11
to 日本Androidの会
> こんばんは、元木です。
>
> "that was originally added here"
> などのエラーメッセージで検索すると、結構たくさんヒットするので
> ヒントが得られると思います。
>
> 推測ですが、ポップアップを表示させる前に、どこかで
> 親のアクティビティ(TOPViews?)を終了させてしまっているのでは?
> と思います。

おっしゃるとおりでした。
finish();の後に前に開いていたActivityが呼ばれるのですが、その時には閉じる事ができない状態になっていました。
修正方法としては下記のコードに変更しました。

if( popupmore.isShowing() ){
popupmore.dismiss();
}
finish();

これで、フィニッシュする前にポップアップが開いていた場合に閉じて正常に動作しました。
Reply all
Reply to author
Forward
0 new messages