1. 通过声明要刷新的activity(Activity_A)为静态变量,然后在一个activity(Activity_B)中直接调用Activity_A中的刷新方法
在Activity_A中声明静态变量:
public static Activity_A instance = null;
Activity_B 中直接调用Activity_A中的刷新方法:
Activity_A.instance.initRefresh();//initRefresh()是Activity_A中定义的方法
2.使用广播
一.Activity_B中发送广播Intent intent = new Intent(); intent.setAction("action.refreshActivity_A"); sendBroadcast(intent);二.Activity_A中接收广播
private BroadcastReceiver mRefreshBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals("action.refreshActivity_A")) { initRefresh(); } } };IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("action.refreshActivity_A"); registerReceiver(mRefreshBroadcastReceiver, intentFilter);@Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mRefreshBroadcastReceiver); }三.使用Handler(重写application来在两个activity之间共享Handler)
一会再写...
四.使用StartActivityForResult
ActivityA中:
Intent intent = new Intent(); intent.setClass(ActivityA.this,ActivityB.class); Bundle bundle = new Bundle(); bundle.putString("title", title);//这些根据需求传对应的值,不传也可以。 bundle.putString("url", url);// intent.putExtras(bundle); startActivityForResult(intent, 1005);@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == 3) { if (requestCode == 1005) { if(data.getStringExtra("dataB") != null ) { String data = data.getStringExtra("dataB"); Log.i("dataB", data); //根据返回数据执行相关操作//进行webView刷新
webView.reload();
} } }}ActivityB中:
Intent intent = new Intent(); intent.putExtra("dataB", datab); //将值回传 setResult(3, intent); finish(); //结束当前的activity生命周期
详细的一会再写...