android webview 点击按钮,Android里面WebView加载HTML里面点击按钮调我Android方法

public class WebActivity extends Activity {

private static final String TAG = "--WebActivity--";

private WebView mWebView;

private ProgressBar progressBar;

private Activity mContext;

private TextView webTitle;

private String url;

private String keyName;

private String tvTitle;

private String actionID;

private String mOrderNumber;

private String mOrderJiaoYan;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_web);

mContext = this;

initGetIntent();

initView();

initSetting();

showWeb(actionID);

}

// 根据网页的地址,打开网页

private void showWeb(String actionID) {

mWebView.loadUrl(actionID);

webTitle.setText(keyName);

}

private void initGetIntent() {

Intent intent = getIntent();

keyName = intent.getStringExtra("keyName");

actionID = intent.getStringExtra("actionID");

tvTitle = intent.getStringExtra("actionText");

LogUtils.e(TAG, " --WebActivity-- " + keyName + " --- " + actionID + " --- " + tvTitle);

}

private void initView() {

mWebView = (WebView) findViewById(R.id.sport_web);

webTitle = (TextView) findViewById(R.id.title_tv);

progressBar = (ProgressBar) findViewById(R.id.web_progress);

((ImageView) findViewById(R.id.back)).setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

finish();

}

});

}

@SuppressLint("JavascriptInterface")

private void initSetting() {

// 获取webview的设置

WebSettings settings = mWebView.getSettings();

settings.setLoadWithOverviewMode(true);

settings.setBuiltInZoomControls(true);// 设置是否显示放大缩小网页的按钮(wap网页不支持)

settings.setUseWideViewPort(true);// 设置是否支持双击放大(wap网页不支持)

settings.setJavaScriptEnabled(true);// 设置是否支持android和网页中js代码的互调

settings.setDomStorageEnabled(true);

String cacheDirPath = mContext.getFilesDir().getAbsolutePath() + "cache/";

settings.setAppCachePath(cacheDirPath);

settings.setAppCacheMaxSize(20 * 1024 * 1024);

settings.setAppCacheEnabled(true);

//如果想要webview支持网页中的alert,比如给weview设置WebChromeClient

mWebView.setWebChromeClient(new WebChromeClient());

//js调用android代码的操作

//设置js可以调用的android的接口对象方法

//参数1:js调用android的接口对象

//参数2:js调用Android的接口对象的别名

mWebView.addJavascriptInterface(new JSAndroidInterface(), "android");

mWebView.setWebChromeClient(new WebChromeClient() {

@Override

public void onProgressChanged(WebView view, int newProgress) {

super.onProgressChanged(view, newProgress);

LogUtils.e(TAG, "ProgressChanged ++ " + newProgress);

if (newProgress == 100) {

progressBar.setVisibility(View.GONE);

} else {

progressBar.setVisibility(View.VISIBLE);

progressBar.setProgress(newProgress);//设置加载进度

}

}

});

}

@Override

protected void onPause() {

super.onPause();

MobclickAgent.onPause(this);

}

@Override

protected void onResume() {

super.onResume();

MobclickAgent.onResume(this);

}

class JSAndroidInterface {

@JavascriptInterface

public void goBack() {

LogUtils.e(TAG, "222222222-222222222222");

mContext.finish();

}

@JavascriptInterface

public void gotoUnivSportOrder(final String firstSelectedItem) {

LogUtils.e(TAG, "----gotoUnivSportOrder---" + firstSelectedItem);

}

}

}

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:layout_height="wrap_content"

layout="@layout/title_bar_layout"/>

android:id="@+id/web_progress"

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="match_parent"

android:layout_height="5dip"

android:indeterminateOnly="false"

android:max="100"

android:background="@drawable/pro_bar_bg"

android:progressDrawable="@drawable/pro_bar_drawable" >

android:id="@+id/sport_web"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_gravity="center">

android:progressDrawable="@drawable/pro_bar_drawable"

android:startColor="#85bcf2"

android:centerColor="#48a0f7"

android:endColor="#1383f4"

/>

android:startColor="#4da2f7"

android:centerColor="#0267cc"

android:endColor="#01118e"

/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值