简单封装Intent实现Activity便捷的调用跳转

本文介绍了一种在Android应用中精简网页加载的方法,通过封装Intent来避免重复代码,提高开发效率。示例展示了如何在一个Activity中封装跳转逻辑,以便在不同页面间复用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在谷歌官方的Demo中看到了这种写法,感觉很妙,记录分享一下。

  设定这里有一个网页容器类型的Activity,里面包含了一个网页WebView控件,当需要显示一个网页的时候,会传进去一个url链接实现网页的加载显示。
示例代码如下:

// 承载网页的Activity代码
public class WebViewActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(this, R.layout.activity_webview);
        
        String url = getIntent().getStringExtra("url"); // 接收传进来的网页链接
        String title = getIntent().getStringExtra("title"); // 接收传进来的网页标题
        
		WebView webView = findViewById(R.id.webView); // 获取WebView控件
        webView.loadUrl(url); // 加载url
        TextView tvTitle = findViewById(R.id.tv_title);
        tvTitle.setText(title); // 设置网页标题
        // 剩余代码略…………
    }
}

当其他页面想要加载网页跳转到WebViewActivity的时候,传统的跳转方式代码如下:

Intent data = new Intent(this, WebViewActivity.class);
data.putExtra("url", "https://blog.youkuaiyun.com/c1024197824");
data.putExtra("title", "我的优快云");
startActivity(data);

  这里有个问题,如果多个页面都要跳转加载网页Activity时,那岂不是每个地方都要写上面那几行跳转代码,完全是在写重复的样板代码。

  我们可以将这几行代码封装到跳转目标Activity中,Activity中的其他代码都不需要改动,只需增加几行代码即可,在本例中就是封装到WebViewActivity,代码如下:

public class WebViewActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        代码略…………
    }

	/**
	 * 新增代码
     * @param context 上一个Activity的上下文对象
     * @param url 参数1 url
     * @param title 参数2 标题
     */
	public static void intentFor(Context context, String url, String title) {
        Intent data = new Intent(context, WebViewActivity.class);
        data.putExtra("url", url);
		data.putExtra("title", title);
        context.startActivity(data);
    }
}

调用方法:

// 在其他的页面中,一行代码即可跳转目标Activity,注意this是上一个页面的Activity上下文对象
WebViewActivity.intentFor(this, "https://blog.youkuaiyun.com/c1024197824", "我的优快云");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值