如何使用计时器并正确更新片段中的变量?

时间:2018-07-23 23:12:13

标签: android variables android-fragments chronometer

我的情况:

我在一个活动中有三个片段,活动使用底部菜单在片段之间切换。在第一个片段中有多个视图,包括按钮,textView和计时器。第二个片段主要显示数据(textViews,ProgressBars等)。

在第一个片段中,通过活动中调用的公共功能(在片段中)更新textViews中显示的数据。 像这样:

public void updateData(int data) {
    dataTextView.setText(String.valueOf(data));
}

另一方面,第二个片段(此时)通过初始化获取其数据,如下所示:

public static SecondFragment newInstance(String param1, String param2) {
    SecondFragment fragment = new SecondFragment();
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mParam1 = getArguments().getString(ARG_PARAM1);
        mParam2 = getArguments().getString(ARG_PARAM2);
    }
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.fragment_share, container, false);
    //find views and set data
    return v;
}

我用来在片段之间切换的内容:

private void setFragment(android.support.v4.app.Fragment fragment) {
    FragmentTransaction fragmentTransaction= getSupportFragmentManager().beginTransaction();
    fragmentTransaction.replace(R.id.main_frame, fragment);
    fragmentTransaction.commit();
}

我的问题:

  • 切换时第一个片段中的计时器停止工作 片段之间
  • 我不确定如何从活动中更新第二个片段中的变量(尝试调用一种方法来更新变量,但不起作用) UPDATE :我正在尝试更新文本多个textView并执行类似的更新

感谢您的帮助!

0 个答案:

没有答案