java - fragment onCreate() 问题

标签 java android android-fragments

我需要在 fragment 的 onCreate() 上声明我的 Chronometer,因为如果我在 onCreateView() 上声明,每次调用 ChronometerFragment 时,Chronometer 都会重置。

我的实际代码:

ChronometerFragment.class

public class CronometroFragment extends Fragment {
    Button btStart, btPause, btReset;
    boolean click;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_cronometro, container,
                false);

        final Cronometro cronometro = (Cronometro) v.findViewById(R.id.cronometro);

        click = true;

        btStart = (Button) v.findViewById(R.id.btStart);
        btPause = (Button) v.findViewById(R.id.btPause);
        btReset = (Button) v.findViewById(R.id.btReset);

        btStart.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                cronometro.start();
            }
        });

        btPause.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                cronometro.pause();
            }
        });

        btReset.setOnClickListener(new View.OnClickListener() {

            public void onClick(View arg0) {
                cronometro.setBase(SystemClock.elapsedRealtime());
                cronometro.stop();
            }
        });

        return v;
    }

fragment_cronometro.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#f0f0f0"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/Title"
        android:layout_width="match_parent"
        android:layout_height="40sp"
        android:gravity="center" >

        <TextView
            android:id="@+id/titleText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/title_cronometro"
            android:textSize="35sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/Timer"
        android:layout_width="match_parent"
        android:layout_height="70sp"
        android:gravity="center"
        android:orientation="horizontal" >

        <com.hello.app.Cronometro
            android:id="@+id/cronometro"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="45sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/Start"
        android:layout_width="match_parent"
        android:layout_height="50sp"
        android:gravity="center"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btStart"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/button_start" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/PauseStop"
        android:layout_width="match_parent"
        android:layout_height="50sp"
        android:gravity="center"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btPause"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/button_pause" />

        <Button
            android:id="@+id/btReset"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/button_reset" />
    </LinearLayout>

</LinearLayout>

我的问题是用户无法更改 fragment ,因为这会重置 Chronometer。

拜托,有人可以帮助我吗?

谢谢。

最佳答案

这个问题的表述很糟糕。但是在你的 onCreate 中,设置 setretaininstance(true)。这应该工作。 :-)

关于java - fragment onCreate() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897432/

相关文章:

android - IBM Worklight - 无法将标签栏固定到屏幕底部

android - 捕获图像并动态添加到 GridView

android - 为什么使用 fragment ,以及何时使用 fragment 而不是 Activity ?

android - ViewPager 来表示一个数据数组

java - 在 FragmentTabHost 中,水平滑动手势起作用时,选项卡触摸不起作用

java - 提交后从 Apache Solr 检索 UUID

android - 如何在没有手指抬起的情况下检测滑动事件

java - 上下文菜单显示为全黑

java - 使用 new 关键字创建的 Spring bean (@Component) 中的 Autowiring

java - (Android) 使用 getActivity() 会导致内存泄漏,但添加 get 应用程序上下文会导致错误 token 异常