我有一个BaseActivity,其中包含所有必要的连接性更改代码,并且我在所有活动中都实现了这一点。
因为我想向用户展示有关使用快餐栏的连接状态,所以我需要Activity的根布局,我认为可能是BaseActivity。因此,在所有其他活动中我都需要rootlayout来显示小吃栏。
if(connectivityEvent.getState().getValue() == ConnectivityState.CONNECTED){
Log.d("connectivity", "Connected");
showsnackbar(rootlayout, "Internet Detected", R.color.transaction_failed);
}else {
Log.d("connectivity", "Not Connected ");
showsnackbar(rootlayout, "No Internet Detected", R.color.transaction_failed);
}
最佳答案
利用abstract
方法。您的BaseActivity
看起来像这样
public abstract class BaseActivity extends Activity{
protected abstract getRootLayout();
}
现在每个扩展
Activity
的BaseActivity
必须填写方法getRootLayout
,您可以在BaseActivity
中使用该方法显示小吃店,例如showsnackbar(getRootLayout(), "No Internet Detected", R.color.transaction_failed);
关于android - 如何在扩展它的Activity中获得BaseActivity的 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44028246/