Tôi đang gặp vấn đề rất thú vị. Tôi sử dụng inAppBrowser và spinner trong một ứng dụng Android của tôi. Spinner được triển khai với ProgressDialog
. Vấn đề ở đây là khi tôi cố gắng để mở một trang web thông qua inAppBrowser và tải spinner bắt đầu tải một khi trang bắt đầu tải và sau đó đóng một khi nó đã tải xong trang, khi tôi gõ vào lĩnh vực đầu vào của trang đó và cố gắng gõ chữ hoặc số, nó chỉ nằm trong trạng thái "bị khóa". Nếu tôi gõ một cái gì đó tôi không thể nhìn thấy chúng, con trỏ chỉ cần nhấp nháy.Không thể nhập vào trường nhập sau khi tải trang bằng InAppBrowser và tải spinner
Để làm điều này trở nên kỳ lạ hơn, tôi có thể nhập các ký tự đặc biệt. Nếu tôi nhấn vào bất kỳ địa điểm nào khác xung quanh trang, sau đó nhấn lại vào trường nhập tương tự, sau đó nó hoạt động. Một trường hợp khác khi nó hoạt động là khi tôi đặt ứng dụng vào trạng thái Tạm dừng và sau đó tiếp tục lại, các trường nhập hoạt động.
Sự cố này chỉ xảy ra trong các nền tảng Android phiên bản 5.0.1 trở lên.
Tệp java inAppBrowser có thể được tìm thấy trong Github tại InAppBrowser java file.
thực hiện spinner của tôi là như sau:
spinner = new ProgressDialog(cordova.getActivity());
spinner.setIndeterminate(false);
spinner.setProgressStyle(ProgressDialog.STYLE_SPINNER);
spinner.setCancelable(false);
spinner.setMessage(cordova.getActivity().getText(R.string.spinner_loading));
spinner.setTitle("");
và tôi hiển thị/ẩn một spinner với cách sau:
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
//InAppBrowser default code....
try {
JSONObject obj = new JSONObject();
obj.put("type", LOAD_START_EVENT);
obj.put("url", newloc);
sendUpdate(obj, true);
} catch (JSONException ex) {
Log.d(LOG_TAG, "Should never happen");
}
spinner.show();
}
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
try {
JSONObject obj = new JSONObject();
obj.put("type", LOAD_STOP_EVENT);
obj.put("url", url);
sendUpdate(obj, true);
} catch (JSONException ex) {
Log.d(LOG_TAG, "Should never happen");
}
spinner.hide();
}
gì có thể là vấn đề ở đây? Bất kỳ lời khuyên, đề nghị sẽ được đánh giá cao.
Bạn có thể gỡ lỗi ứng dụng trong thiết bị bằng cách sử dụng trình kiểm tra chrome và kiểm tra xem có bất kỳ lỗi nào trong bảng điều khiển không? – Gandhi
@Gandhi: Tôi đã sửa nó rồi, cảm ơn lời bình luận. –