Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 理解片段活动_Java_Android_Android Fragments_Android Fragmentactivity - Fatal编程技术网

Java 理解片段活动

Java 理解片段活动,java,android,android-fragments,android-fragmentactivity,Java,Android,Android Fragments,Android Fragmentactivity,我有一个应用程序,它只是一个计时器,在主活动中有一大堆特殊的方法。这很好,没有问题。现在,我已经让它工作了,我正试图将它包含在一个更复杂的应用程序中,我将通过片段在许多地方插入计时器 我应该在片段活动中包括我所有的特殊方法吗?即: public class Timer_fragment extends android.support.v4.app.Fragment { @Override public View onCreateView(LayoutInflater infla

我有一个应用程序,它只是一个计时器,在主活动中有一大堆特殊的方法。这很好,没有问题。现在,我已经让它工作了,我正试图将它包含在一个更复杂的应用程序中,我将通过片段在许多地方插入计时器

我应该在片段活动中包括我所有的特殊方法吗?即:

public class Timer_fragment extends android.support.v4.app.Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.timer_frag, container, false);
    }
    //SHOULD I insert my special methods here?
}
或者我应该把它们包括在我的主要报告中

我这样问是因为我已经尝试了这两种方法,片段活动方式在java中给了我错误,但将它们放在我的main中会在运行时给我错误。基本上,我有一个计时器,它作为一个独立的应用程序运行得很好,但我正试图将它转换成一个片段,这样我就可以将它插入我的应用程序中的多个位置

特殊方法示例: 我在布局中查看,并根据计时器上输入的新数字进行更新。这些方法要求在使用视图之前对其进行充气


注意:我在运行时遇到的错误是NullPointerException

片段背后的思想是,它是一个活动的可恢复部分(即片段),可用于其他活动,甚至在相同活动中,但添加或不添加其他片段

例如,在Gmail应用程序中,收件箱中所有电子邮件的列表是一个片段,而电子邮件的实际内容是另一个片段。在横向模式下的平板电脑上,两者都会显示。然而,处于纵向模式的手机一次只能显示两个片段中的一个

因此,每个片段都应该封装使用该片段所需的所有功能和UI组件。这意味着您的所有“特殊”方法(如膨胀片段的视图XML)都应该发生在片段中


使用片段的活动(或多个活动)只需使用FragmentManager(或类似方法)将片段添加到活动的布局中。片段的父活动还应处理片段与其他组件(如其他活动、片段或线程)之间的通信。

能否再展示一些实际导致问题的代码?根据您的基本描述,听起来您只需要更好地理解片段生命周期,并确保您没有试图访问尚未可用(或不再可用)的视图。是的,但我真正感兴趣的是知道片段活动是否基本上是子应用程序的正确位置。你能回答这个问题吗?换句话说,先谢谢你。我在哪里编写只与片段及其布局相关的方法。在主活动或片段活动中?为什么我在将活动转换为片段时遇到问题?要回答这个问题(我猜这与您的NullPointerException有关),您需要发布片段中的任何相关logcat条目和代码。