Android webview監聽網頁對話方塊點選事件
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli
現在專案遇到這樣一個問題,HTML5網頁彈出一個Alert對話方塊,該文章已經被刪除,Android這邊需要監聽使用者點選確定按鈕,然後返回前一個列表頁面進行頁面重新整理刪除被後臺刪除的的資料,具體做法如下
setting.setJavaScriptEnabled(true);//支援js setting.setJavaScriptCanOpenWindowsAutomatically(true); webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { Log.i("aaa", "onJsConfirm" + "," + "url: " + url); AlertDialog.Builder builder = new AlertDialog.Builder(ArticalDetailAct.this); builder.setMessage(message) .setNeutralButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { arg0.dismiss(); finish(); } }).show(); result.cancel(); return true; } @Override public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) { // TODO Auto-generated method stub Log.i("aaa", "onJsConfirm" + "," + "url: " + url); // // DialogUtils.dialogBuilder(mContext, "溫馨提示", message, // new DialogCallBack() { // // @Override // public void onCompate() { // Log.i(TAG, "onJsConfirm,onCompate"); // result.confirm(); // } // // @Override // public void onCancel() { // Log.i(TAG, "onJsConfirm,onCancel"); // result.cancel(); // } // }); return true; } });
如果大家出現如下問題android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli
導致報這個錯是在於new AlertDialog.Builder(mcontext),雖然這裡的引數是AlertDialog.Builder(Context context)但我們不能使用getApplicationContext()獲得的Context,而必須使用Activity,因為只有一個Activity才能新增一個窗體。
解決方法:將new AlertDialog.Builder(Context context)中的引數用Activity.this(Activity是你的Activity的名稱)來填充就可以正確的建立一個Dialog了。
相關推薦
Android webview監聽網頁對話方塊點選事件
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli 現在專案遇到這樣一個問題,HTML5網頁彈出一個Alert對話方塊,該文
Android開發20——單個監聽器監聽多個按鈕點選事件
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
MFC C++監聽網頁視窗的點選超連結跳轉問題(即開啟新的瀏覽器視窗)
使用MFC的CHtmlView類,註冊ON_EVENT事件進行監聽。 實現的基本程式碼是: BEGIN_EVENTSINK_MAP(CxxxView, CHtmlView)ON_EVENT(CxxxView, AFX_IDW_PANE_FIRST, DISPID_NEWWI
安卓實現任意控制元件view可拖拽,並監聽拖拽和點選事件,可自動拉回螢幕邊緣
因為專案中有需要實現控制元件可任意拖拽的需求,所以簡單寫了個自定義OnTouchListener,以作拋磚引玉,歡迎大家提議反饋。 完整實現類如下,程式碼中有詳細註釋: 使用者可以決定是否開啟自動拖拽邊緣功能,可以監聽控制元件的拖拽和點選事件 public cl
Android 解析RecyclerView(1)——帶點選事件監聽的通用Adapter
按照最原始的做法,構建一個RecyclerView Adapter需要寫挺多程式碼的,而通過對Java泛型的使用,可以使程式碼量變得只需十幾行即可。此外,由於RecyclerView不像ListView那樣支援直接新增頂部View,也不支援直接新增點選事件監
ListView滑動監聽和設置點擊事件
image null ram protected item import idle 滾動 pri viewholder_item.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout
Android如何監聽藍芽耳機的按鍵事件
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
ionic 監聽頁面滾動,點選停止滾動
原文出處:https://www.cnblogs.com/lee-xiumei/p/7449021.html 類似今日頭條,頁面上有很多card,點選每個card跳轉該card的詳情頁面。這裡有一個問題,當我滾動頁面時,會先後觸發touchstart、touchmove、touchend,但是當
解決監聽label時,點選label內input執行兩次的bug
有的時候,我們需要監聽label點選事件和input點選事件,如下所示: <label id="checkbox" data-role="checkbox"> <input id="storepwd" type="checkb
android WebView呼叫檔案管理器,點選返回鍵退出app的解決辦法
在清單檔案中,給含有該WebView的activity設定屬性: alwaysRetainTaskState屬性 和 configChanges屬性 這裡,我的是WebActivity: <activity android:name=".activity.We
Android listview子控制元件的的點選事件(轉)
1.先看圖,是否是你想要的 2.佈局檔案<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi
Android完美處理RecyclerView實現item條目點選事件處理
前言: RecyclerView並沒有像ListView那樣提供了OnItemClick,OnItemLongClick等事件回撥介面,所以,我們需要自己寫介面去進行實現。 正題 ①、建立介面類OnRecyclerViewClickListener /** * Recy
Android Toolbar遮擋按鈕(view)點選事件,怎麼穿透呢
今天有朋友問我這個問題,我找到一個可行的方案,給大家分享一下 toolbar.setOnTouchListener(new View.OnTouchListener() { @Override public boolean
android FrameLayout響應了下層view的點選事件
解決方法 設定clickable為true <FrameLayout <span style="background-color: rgb(255, 0, 0);">android:clickable="true"</s
android popupwindow中使用ListView無法響應點選事件
在PopupWindow中使用ListView, 但是ListView中的各個item無法響應事件(如:ListView可以滑動,但是item無法點選),這是需要新增 mPopupwindow.se
Android通過程式碼模擬物理、螢幕點選事件
本文講的是通過使用程式碼,可以控制手機的螢幕和物理按鍵,也就是說不只是在某一個APP裡去操作,而是整個手機系統。 getevent/sendevent getevent&sendevent 是android系統下的一個工具,可以模擬多種按鍵和觸屏操作,產生的是
《Android那些事》——ListView中Button點選事件解決方案
說一說寫這篇文章的原因,最近在做一個專案,有涉及到使用者回覆的功能 遇到的其中一個問題就是,如何為ListView中的Button設定點選事件? 在此將解決方案分享給大家
Android設定TextView部分文字變色及點選事件
首先要想實現文字變色以及點選,都需要使用到SpannableStringBuilder,例項化該類也很簡單,只需將你想要處理的字串當做引數 SpannableStringBuilder spannable = new SpannableStringBuilder(conte
Android-listview新增控制元件導致listview點選事件失效
今天寫了個demo,dialog自定義佈局添加了個listview,listview item裡面加了個checkBox,需求checkBox在列表裡有單選的效果:測試的時候需要點選item也改變checkBox的選中狀態,然而listview的點選事件失效了。後來發現是失
Android中web view擷取H5的點選事件
有時候我們需要做一些非常奇怪的功能,比如說h5頁面點選某個按鈕時,需要我們在手機端展示一些頁面,或者渲染h5返回的資料。 web view中shouldOverrideUrlLoading便是截獲h5