webview加载本地文件时不能自动加载,没有反应

forerver121 2015-03-16 11:45:23
package com.example.helloworld;

import java.io.IOException;

//import org.ksoap2.serialization.SoapObject;

import com.example.tool.GetHtmlDate;
import com.example.tool.GetWebService;
import com.example.tool.MyWebChromeClient;
import com.example.tool.SimpleClient;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.JavascriptInterface;
import android.webkit.WebViewClient;

import android.widget.Button;


public class MainActivity extends Activity {

private final String url="file:///android_asset/html/tenderlist.html";
private WebView webview;
private Handler handler=new Handler();
private Button bt1;
private Button btn2;

@JavascriptInterface
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("***************************************************************************");
setContentView(R.layout.tenderlist);
webview = (WebView)this.findViewById(R.id.webView1);
WebSettings websettings=webview.getSettings();
websettings.setJavaScriptEnabled(true);


//获得数据,放到myjavascript对象中!!!!
webview.addJavascriptInterface(new GetHtmlDate(this,handler), "myjavascript");
bt1=(Button)this.findViewById(R.id.button1);
btn2=(Button)this.findViewById(R.id.button2);

bt1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
System.out.println("*77777777777777777777");
webview.setWebChromeClient(new MyWebChromeClient());
webview.loadUrl(url);

}
});
//按钮自动触发单机上面的单机事件
bt1.performClick();
btn2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO 自动生成的方法存根
System.out.println("*888888888");
webview.setWebChromeClient(new MyWebChromeClient());
webview.loadUrl("http://www.baidu.com");

}
});
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
System.out.println(url);
view.loadUrl(url);
return true;
}
});

System.out.println("***************************************************************************");
// GetWebService getservice=new GetWebService();
// getservice.aaaa();
// SimpleClient simpleclient=new SimpleClient();
// simpleclient.SimpleClients();


//加载js弹出


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

想实现加载activity时自动触发bt1的onclick事件 bt1.performClick();但是实际运行时,页面显示空白,个别时候(及少数)能显示正常,如图1应该是加载完成后应该的界面
图1:应该显示的页面
图二:实际显示空白页面
请大神帮忙看一下,万分感谢
...全文
228 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
windfury_plus 2015-03-17
  • 打赏
  • 举报
回复
大概是要运行在ui线程里,并不是做方法调用 例如:

Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable()
{
    public void run()
    {
        btn1.performClick();
    }
}, 50);
有一篇写的很详细的文章~ http://www.it165.net/pro/html/201311/7872.html
windfury_plus 2015-03-17
  • 打赏
  • 举报
回复
引用 3 楼 forerver121 的回复:
我把我的bt1.performClick();换成了你的代码,还是不能加载出来,并在你的代码里加了打印输出“———————”,会调用,但是显示空白页面
打印了77777…… 说明btn的按钮是执行了,但是加载view失败 错误是:eglsurfaceattrib not implemented ? google、百度了一下查错的话原因蛮多,不过基本上都是模拟器的问题…… 要不你用真机试试
forerver121 2015-03-17
  • 打赏
  • 举报
回复
引用 1 楼 inquisitive_plus 的回复:
大概是要运行在ui线程里,并不是做方法调用
例如:

Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable()
{
public void run()
{
btn1.performClick();
}
}, 50);

有一篇写的很详细的文章~
http://www.it165.net/pro/html/201311/7872.html


我把我的bt1.performClick();换成了你的代码,还是不能加载出来,并在你的代码里加了打印输出“———————”,会调用,但是显示空白页面
forerver121 2015-03-17
  • 打赏
  • 举报
回复
谢了,晚上回去试一下
forerver121 2015-03-17
  • 打赏
  • 举报
回复
谢谢,,,,,,,,,
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,系统阐述了基于Simulink的永磁同步电机(PMSM)多参数辨识方法,重点采用粒子群优化算法(PSO)实现对电机关键内部参数的高精度辨识。研究构建了完整的PMSM控制系统仿真模型,结合智能优化算法,解决了传统参数辨识中精度低、收敛慢的问题,有效提升了电流环控制的动态性能与稳态精度。该方法特别适用于对控制精度和响应速度要求较高的工业应用场景,如高性能伺服系统、电动汽车驱动系统等,具有较强的工程实用价值和科研参考意义。文中提供了完整的Simulink仿真模型与配套代码,确保了研究内容的可复现性和实践操作性。; 适合人群:具备电机控制、自动化或电气工程等相关专业背景,熟悉MATLAB/Simulink仿真环境,从事电机驱动系统研发、控制算法设计或相关领域科研工作的工程师及研究生,尤其适合工作1-5年、希望深入理解先进参数辨识技术的研发人员。; 使用场景及目标:①开展高精度PMSM控制系统的设计与参数辨识研究;②学习并掌握PSO等智能优化算法在电机系统参数辨识中的具体实现与调优技巧;③完成学术论文复现、科研项目验证、毕业设计或工程原型开发,提升对现代电机控制核心技术的理解与应用能力。; 阅读建议:建议读者结合提供的Simulink模型与源代码进行动手实践,按照文档逻辑逐步搭建与调试仿真系统,重点关注PSO算法与电机模型的交互机制、目标函数设计及参数收敛过程,通过对比不同工况下的辨识结果,深入理解算法性能与控制精度之间的内在联系。

80,488

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧