Android 在人行横道浏览器中多次单击任何按钮均无效
问题: 在人行横道浏览器(XWalkView)中多次单击任何html页面的任何按钮(html中的输入标记)在Android中不起作用。(第一次单击按钮可以工作,但此后任何时间单击按钮都不会给出任何响应,除非Eclipse IDE的Logcat中出现以下错误,即单击“输入类型文件”第一次显示文件选择器,但多次单击同一按钮均未得到响应。但重新启动应用程序后,该过程会重复。这确实是一种奇怪的行为。) 错误: 每次单击任何按钮(输入标记)时都会显示此错误消息 代码: index.htmlAndroid 在人行横道浏览器中多次单击任何按钮均无效,android,html,crosswalk-runtime,crosswalk,crosswalk-project,Android,Html,Crosswalk Runtime,Crosswalk,Crosswalk Project,问题: 在人行横道浏览器(XWalkView)中多次单击任何html页面的任何按钮(html中的输入标记)在Android中不起作用。(第一次单击按钮可以工作,但此后任何时间单击按钮都不会给出任何响应,除非Eclipse IDE的Logcat中出现以下错误,即单击“输入类型文件”第一次显示文件选择器,但多次单击同一按钮均未得到响应。但重新启动应用程序后,该过程会重复。这确实是一种奇怪的行为。) 错误: 每次单击任何按钮(输入标记)时都会显示此错误消息 代码: index.html <htm
<html>
<body>
<form>
<input type="file" accept="*/*"/>
<input type="submit"/>
</form>
</body>
</html>
添加以下代码解决了此问题:
@Override
protected void onPause() {
super.onPause();
if (mXwalkView != null) {
mXwalkView.pauseTimers();
mXwalkView.onHide();
}
}
@Override
protected void onResume() {
super.onResume();
if (mXwalkView != null) {
mXwalkView.resumeTimers();
mXwalkView.onShow();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mXwalkView != null) {
mXwalkView.onDestroy();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (mXwalkView != null) {
mXwalkView.onActivityResult(requestCode, resultCode, data);
}
}
@Override
protected void onNewIntent(Intent intent) {
if (mXwalkView != null) {
mXwalkView.onNewIntent(intent);
}
}
提到您使用的是什么版本的人行横道?我现在看到了这个问题,但您上面的代码没有帮助解决它。@Airlowe错误消息仍然存在,但问题(在人行横道浏览器中多次单击任何按钮不工作)已经解决。
import org.xwalk.core.XWalkView;
import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private LinearLayout linearLayout;
private XWalkView xWalkWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
linearLayout = (LinearLayout) findViewById(R.id.LinearLayout1);
xWalkWebView = new XWalkView(this.getApplicationContext(), this);
xWalkWebView.load("file:///android_asset/index.html", null);
linearLayout.addView(xWalkWebView);
}
}
@Override
protected void onPause() {
super.onPause();
if (mXwalkView != null) {
mXwalkView.pauseTimers();
mXwalkView.onHide();
}
}
@Override
protected void onResume() {
super.onResume();
if (mXwalkView != null) {
mXwalkView.resumeTimers();
mXwalkView.onShow();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mXwalkView != null) {
mXwalkView.onDestroy();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (mXwalkView != null) {
mXwalkView.onActivityResult(requestCode, resultCode, data);
}
}
@Override
protected void onNewIntent(Intent intent) {
if (mXwalkView != null) {
mXwalkView.onNewIntent(intent);
}
}