具有相同方法的多个片段

1 java android android-fragments android-activity

我有 5 个片段,其中每个片段类都有完全相同的方法:

public class FirstFragment extends Fragment {
    // other methods

    public void clear() {
        data.clear();
        adapter.notifyDataSetChanged();
    }
}
Run Code Online (Sandbox Code Playgroud)

第二个片段:

public class SecondFragment extends Fragment {
    // other methods

    public void clear() {
        data.clear();
        adapter.notifyDataSetChanged();
    }
}
Run Code Online (Sandbox Code Playgroud)

等等...

我怎样才能更好地组织我的代码,这样我就不必将此方法复制并粘贴到我的 5 个片段中的每一个中(即创建一个方法,在每个片段中调用相同的方法)。

Sau*_*abh 5

您需要使用Inheritance的概念,将所有公共变量和方法放在 a 中BaseFragment并从中扩展其他变量和方法。

public class BaseFragment extends Fragment {
public Data data;
public Adapter adapter;
        public void clear() {
            data.clear();
            adapter.notifyDataSetChanged();
        }
    }
Run Code Online (Sandbox Code Playgroud)

第一的:

public class FirstFragment extends BaseFragment {
    // other methods
}
Run Code Online (Sandbox Code Playgroud)

第二:

public class SecondFragment extends BaseFragment {
    // other methods
}
Run Code Online (Sandbox Code Playgroud)