因此,我在linearLayout的内部有一个WebVIEw,其中包含一个EditText框和一个button,以使应用程序搜索Web.当我单击“继续”按钮时,它将带我到常规android浏览器.我如何制作它,以便在单击go时将其保留在WebVIEw中?
这是我的布局:
<?xml version="1.0" enCoding="utf-8"?> <linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" > <EditText androID:ID="@+ID/web_address" androID:layout_wIDth="fill_parent" androID:layout_height="wrap_content" androID:text="http://"/> <button androID:ID="@+ID/go" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:background="@drawable/go" androID:gravity="right"/> <WebVIEw androID:ID="@+ID/webvIEw" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" /></linearLayout>
这是我的资料来源:
package straightapp.com.browser; import androID.app.Activity; import androID.content.Intent; import androID.net.Uri; import androID.os.Bundle; import androID.vIEw.KeyEvent; import androID.vIEw.VIEw; import androID.vIEw.VIEw.OnClickListener; import androID.vIEw.VIEw.OnKeyListener; import androID.webkit.WebVIEw; import androID.Widget.button; import androID.Widget.EditText; public class browser extends Activity { WebVIEw mWebVIEw; button button; EditText text; /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); mWebVIEw = (WebVIEw) findVIEwByID(R.ID.webvIEw); mWebVIEw.getSettings().setJavaScriptEnabled(true); mWebVIEw.loadUrl("http://www.straightapp.com"); text=(EditText)findVIEwByID(R.ID.web_address); button=(button) findVIEwByID(R.ID.go); button.setonClickListener(new OnClickListener(){ public voID onClick(VIEw v) { // Todo auto-generated method stub openbrowser(); } }); text.setonKeyListener(new OnKeyListener() { public boolean onKey(VIEw v, int keyCode, KeyEvent event) { // Todo auto-generated method stub if (keyCode==KeyEvent.KEYCODE_ENTER){ openbrowser(); return true; } return false; } }); } public voID openbrowser(){ Uri uri=Uri.parse(text.getText().toString()); Intent intent=new Intent(Intent.ACTION_VIEW,uri); startActivity(intent); } @OverrIDe public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebVIEw.canGoBack()) { mWebVIEw.goBack(); return true; } return super.onKeyDown(keyCode, event); } }
谢谢
解决方法:
确切地说,您可以尝试以下更改:
public voID openbrowser(){ //Ensure that URL entered is a valID one mWebVIEw.loadUrl(text.getText().toString());}
总结 以上是内存溢出为你收集整理的android-WebView内部应用程序?全部内容,希望文章能够帮你解决android-WebView内部应用程序?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)