我是 android 的新手,我很困惑的一件事是 Fragment 与 Activity。现在到处都建议您应该使用 Fragment 而不是 Activity。
这是否意味着我应该将单个 Activity 和每个 UI 元素作为 Fragment 并通过 fragment 事务处理用户操作。
所以我怀疑现在每个应用程序都只有一个 Activity 吗?如果不是,为什么需要额外的 Activity 。
希望我很清楚,如果已经以其他方式回答,我很抱歉。
谢谢
最佳答案
这个问题已经有人问过了。但是,Fragment 是 UI 的一部分。 fragment 依赖于 Activity , Activity 可以根据需要处理任意数量的 fragment 。
我不认为您绝对必须将自己限制为仅进行一项 Activity 。不过,这种模式(1 个 Activity + N 个 fragment )证明对我有用。在我的应用程序(一个简单的问答游戏)中,每个 fragment 都捕获用户操作并通过回调触发异步 Activity 调用。
例子:
// Implements the main view of the app (home page)
public class HomeFragment extends Fragment {
/**
* A pointer to the current callbacks instance (an Activity).
*/
private HomeMenuCallbacks callbacks;
/**
* Callbacks interface (implemented by the Activity)
*/
public static interface HomeMenuCallbacks {
/**
* Called when an item in the navigation drawer is selected.
*/
void onHomeMenuItemSelected(int position);
}
}
public class MainActivity extends Activity implements
HomeFragment.HomeMenuCallbacks {
@Override
public void onHomeMenuItemSelected(int position) {
// Do whatever action based on which
// item from the home page menu was selected
}
}
检查此线程以进行讨论并链接到 Android 开发指南:Android - I need some clarifications of fragments vs activities and views
关于android - android 中的 Activity 与 Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28399004/