Android如何优雅的写好一行代码——优雅的Activity的跳转

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weimingjue/article/details/79164186

有没有在两个Activity之间调试了半天怎么也取不到intent里面的值,最后才发现原来数据类型对不上?

        intent.putExtra("id",1L);
        int id = getIntent().getIntExtra("id", 0);

有没有准备增加Activity的接收字段,确发现n多界面都突袭而来,根本无从下手的情况?


有没有改了其他界面的String不知为何动了intent的字段而突然出现的bug入侵?

        int id = getIntent().getIntExtra("ids", 0);
        intent.putExtra("id",1L);

现在就解放你的双手,尽情的挥霍去吧!

你只需要如此而已:

public class WebActivity extends BaseActivity {
    private static final String INTENT_TITLE = I_A, INTENT_URL = I_B, INTENT_SERVICESTRING = I_C;
    public static void toThisActivity(Context context, String title, String url) {
        toThisActivity(context, title, url, null);
    }
    /**
     * @param serviceString 注释很重要
     */
    public static void toThisActivity(Activity activity, String title, String url, String serviceString) {        
  activity
.startActivity(new Intent(context, WebActivity.class)
                .putExtra(INTENT_TITLE, title)
                .putExtra(INTENT_URL, url)
                .putExtra(INTENT_SERVICESTRING, serviceString));
    }
@Override
protected void initData() {
    mUrl = getIntent().getStringExtra(INTENT_URL);
    mTitle = getIntent().getStringExtra(INTENT_TITLE);
    mServiceString = getIntent().getStringExtra(INTENT_SERVICESTRING);
}
}

你的跳转到WebActivity其他人只需要闭着眼写即可

WebActivity.toThisActivity(mActivity, "活动", bean.getJumpTo());

I_A是什么鬼?基类里面的静态常量abcd而已

    protected static final String I_A = "A", I_B = "B", I_C = "C", I_D = "D",
            I_E = "E", I_F = "F", I_G = "G", I_H = "H", I_I = "I", I_J = "J";


可能你会想,虽然优雅了点,但

代码也多了好多...

android studio的Live Templates会告诉你——让重复的代码来的更猛烈些吧!


英语水平太差,live只能写成这样,不喜勿喷

猜你喜欢

转载自blog.csdn.net/weimingjue/article/details/79164186
今日推荐