通过单击来识别URL时出错

时间:2012-03-13 17:33:23

标签: android webview onload onload-event webviewclient

我有3页,我的网页浏览器将我带到第1页,在第1页,您可以转到第2页或第3页,我正在尝试确定您是否从第1页转到第2页或第3页。我正在尝试通过单击链接在我的WebView中执行操作类型,Toast或Intent,但是在Toast onLoadResource的方法中向我发送错误“Toast类型中的方法Maketext(Context,CharSequence,int)不适用于arguments(Class,String,int)“ 我可以解决这个问题吗?

public class WebViewTest extends Activity{
WebView site;
String webUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.coursetest);

    site = (WebView) findViewById(R.id.wvcurse);
    site.loadUrl("http://wstest.comuf.com/test/webviewtest.html");

    site.getSettings().setJavaScriptEnabled(true);
    site.getSettings().setLoadWithOverviewMode(true);
    site.getSettings().setUseWideViewPort(false);
    site.setWebViewClient(new ViewClient());}}

我的ViewClient.java类是;

    public class ViewClient extends WebViewClient {
    @Override
public boolean shouldOverrideUrlLoading(WebView v, String url){
    super.shouldOverrideUrlLoading(v, url);
    v.loadUrl(url); 

    return true;    
}
    @Override
    public void onLoadResource(WebView  v, String  url){
        super.onLoadResource(v, url);
        if( url.equals("http://www.wstest.comuf.com/test/page_two.html") ){

            Toast t=Toast.makeText(WebViewTest.class,"passed", Toast.LENGTH_LONG);
            t.show();

           // Intent i = new Intent("com.mariposatraining.courses.lay_main");
          //startActivity(i); here too i have the error "The method startActivity(Intent) is undefined for the type ViewClient"
        }
        if( url.equals("http://www.wstest.comuf.com/test/page_three.html") ){

            Toast t=Toast.makeText(WebViewTest.class,"failed", Toast.LENGTH_LONG);
            t.show();
        }                       
}}

我应该如何在这里做烤面包或其他活动? 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您尝试使用的Toast.makeText方法签名是:

  

public static Toast makeText(Context context,CharSequence text,int duration)

WebViewTest.class不是Context