事情是这样的,我想写一个Android应用,这个应用的界面是一个网页,位于远程服务器上,其中有N个超级链接,地址如button://cmdLogin_Click/,button://cmdExit_Click/这样的,用于用户的输入,同时还有一些文本框,也需要在程序中取得其内容.
现在想要拦截到上面的超级链接,并由程序来响应,这在VB中可以使用WebBrowser控件的BeforeNavigate2事件来完成,这个事件中的Url参数就是所点击的链接,只需要判断它就可以了.
但是在C#中不知道应该如何做到?
目前我的做法是新建一个类继承自WebViewClient,然后扔给WebView,但工程运行后自动退出了,汗...
主活动中的代码如下:
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Webkit;
namespace Sentry
{
[Activity(Label = "Sentry968", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
WebView VW = FindViewById<WebView>(Resource.Id.webView1);
myWVC Wvc = new myWVC();
VW.SetWebViewClient(Wvc);
VW.LoadUrl("http://xxxxxxxx/");
}
}
class myWVC : WebViewClient
{
public override bool ShouldOverrideUrlLoading(WebView view, string url)
{
switch (url)
{
case "button://cmdExit_Click/":
System.Environment.Exit(0);
break;
}
return base.ShouldOverrideUrlLoading(view, url);
}
}
}
现在很怀疑是有语法错误,因为我毕竟没玩过C#以及Mono,可是编译布署都一切正常,于是百思不得骑姐了.....
另外还想请教的是,有什么日志输出的方式可以在Android中使用?如果可以调试的话自己还能慢慢摸索.
谢谢大家!