在项目发现经常会进行activity切换,起初考虑在基类activity中通过自定义id实现:针对每一个activity定义一个id,然后通过id进行切换;这种方法优势在于只需通过id即可进行切换,所有传递数据的封装均在基类中,缺点是会导致基类无限制增大。
经过多个版本的开发,发现传递数据还是很少的,因此想利用更加简单的方法进行基类优化
public void switchActivity(Class<?> pClass, Bundle pBundle, int requestCode)
{
Intent intent = new Intent(this, pClass);
if (pBundle != null)
{
intent.putExtras(pBundle);
}
if (requestCode > 0)
{
startActivityForResult(intent, requestCode);
}
else
{
startActivity(intent);
}
}
通过以上方法很好地优化了基类,对于有数据及带回调的只要传递相关bundle及requestcode即可