我有一个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();
}


现在每个扩展ActivityBaseActivity必须填写方法getRootLayout,您可以在BaseActivity中使用该方法显示小吃店,例如

showsnackbar(getRootLayout(), "No Internet Detected", R.color.transaction_failed);

关于android - 如何在扩展它的Activity中获得BaseActivity的 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44028246/

10-10 10:09