标签:内容 override ack public otto art prot mis code
首先把界面显示出来,为了更加简单这是在相对布局中写的
1 <EditText 2 android:layout_width="match_parent" 3 android:layout_height="wrap_content" 4 android:id="@+id/et" 5 android:layout_alignBottom="@+id/btn" 6 android:layout_alignParentLeft="true" 7 android:layout_alignParentStart="true" 8 android:layout_toLeftOf="@+id/btn" 9 android:layout_toStartOf="@+id/btn" /> 10 <Button 11 android:layout_width="wrap_content" 12 android:layout_height="wrap_content" 13 android:id="@+id/btn" 14 android:text="搜索" 15 android:layout_alignParentTop="true" 16 android:layout_alignParentRight="true" 17 android:layout_alignParentEnd="true" /> 18 <WebView 19 android:layout_width="match_parent" 20 android:layout_height="match_parent" 21 android:id="@+id/wv" 22 android:layout_below="@+id/et" 23 android:layout_alignParentLeft="true" 24 android:layout_alignParentStart="true"> 25 </WebView>
接下来时初始化控件
1 private EditText et = (EditText) findViewById(R.id.et); 2 private Button btn = (Button) findViewById(R.id.btn); 3 private WebView wv = (WebView) findViewById(R.id.wv);
接下来给按钮设置监听器
1 btn.setOnClickListener(new View.OnClickListener() { 2 @Override 3 public void onClick(View v) { 4 //TextUtils静态方法isEmpty可判断输入的字符串是否为空 5 if (!TextUtils.isEmpty(et.getText().toString().trim())) { 6 //调用page方法来显示网页 7 page(et.getText().toString().trim()); 8 } else { 9 Toast.makeText(MainActivity.this, "请输入内容", Toast.LENGTH_SHORT).show(); 10 } 11 } 12 });
接下来时定义page方法
1 protected void page(String info) { 2 //显示页面内容 3 wv.loadUrl(info); 4 //设置本地客户端进行显示 5 wv.setWebViewClient(new WebViewClient()); 6 }
page方法会让网页显示在本地客户端而不是调用系统的浏览器,但是仍有缺陷就是按下返回键会直接退出程序,所以眼重写onBackPressed方法
1 public void onBackPressed() { 2 //如果可以返回上一级 3 if (wv.canGoBack()) { 4 wv.goBack(); 5 } else { 6 super.onBackPressed(); 7 } 8 }
但是此时还不行,因为凡是程序要获得网络的反应时,必须要获得许可,所以在AndroidMainfest.xml文件中加入
1 <uses-permission android:name="android.permission.INTERNET"/>
因为比较简陋所以搜索网址才可以
标签:内容 override ack public otto art prot mis code
原文地址:https://www.cnblogs.com/z-cg/p/12364366.html