Android 分段倒计时
我有一个扩展片段活动的导航 我想做什么 当我打开导航时,我想启动倒计时 然后,当我从导航中访问一个片段时,我想用倒计时的分和秒值填充两个文本视图,当我在这个片段上时,文本视图将用倒计时的值更新 我怎样才能提供呢 非常感谢:) 在导航中:Android 分段倒计时,android,android-fragments,Android,Android Fragments,我有一个扩展片段活动的导航 我想做什么 当我打开导航时,我想启动倒计时 然后,当我从导航中访问一个片段时,我想用倒计时的分和秒值填充两个文本视图,当我在这个片段上时,文本视图将用倒计时的值更新 我怎样才能提供呢 非常感谢:) 在导航中: LayoutInflater inflater = getLayoutInflater(); View v = inflater.inflate(R.layout.settings_activity, null); TextView remainedMinTe
LayoutInflater inflater = getLayoutInflater();
View v = inflater.inflate(R.layout.settings_activity, null);
TextView remainedMinTextView = (TextView) v
.findViewById(R.id.remainedMinTextView);
TextView remainedSecTextView = (TextView) v
.findViewById(R.id.remainedSecTextView);
Utils.startCountDownTimer(10000, remainedMinTextView, remainedSecTextView);
在utils类中,我创建倒计时计时器
public static void startCountDownTimer(final long milis,
final TextView remainedMinTextView,
final TextView remainedSecTextView) {
CountDownTimer countDownTimer = new CountDownTimer(milis, 1000) {
@Override
public void onTick(long millisUntilFinished) {
remainedMinTextView.setText(""
+ String.format("%d", TimeUnit.MILLISECONDS
.toMinutes(millisUntilFinished)));
remainedSecTextView
.setText(""
+ String.format(
"%d",
TimeUnit.MILLISECONDS
.toSeconds(millisUntilFinished)
- TimeUnit.MINUTES
.toSeconds(TimeUnit.MILLISECONDS
.toMinutes(millisUntilFinished))));
}
@Override
public void onFinish() {
}
}.start();
}
在片段中,我有两个文本视图
@SuppressLint("InflateParams")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
/** Inflating the layout for this fragment **/
View v = inflater.inflate(R.layout.settings_activity, null);
// minutes/seconds passed in app
remainedMinTextView = (TextView) v
.findViewById(R.id.remainedMinTextView);
remainedMinTextView.setTypeface(Utils.TypeFace(getActivity()));
remainedSecTextView = (TextView) v
.findViewById(R.id.remainedSecTextView);
remainedMinTextView.setTypeface(Utils.TypeFace(getActivity()));
}
例如,当我点击5分钟时,这里是Ok(这里是更新文本视图的地方)
如果我从这里开始倒计时,它会起作用。。。但我需要的是,当我打开导航并开始倒计时,然后打开包含两个文本视图的片段,该文本视图将使用倒计时中的值进行更新。我认为倒计时计时器的文档显示了一个很好的示例,说明了您正在尝试的操作:您好,我已经尝试了这个示例,如果我在fragmnet上,在CreateView上运行倒计时,它工作正常,它会填充两个文本视图,但我没有;我不知道如何从其他视图发送值到片段并在倒计时仍在运行时更新它们。非常感谢:)你能发布到目前为止你做了什么吗?你好,谢谢你的延迟。我仍然修改了我的代码;我没有得到我想要的结果。我尝试的内容:在开始时的导航片段活动中,我尝试获取秒和分钟所在的视图。
textViewTimer5 = (TextView) v.findViewById(R.id.imageViewTimer5);
textViewTimer5.setTypeface(Utils.TypeFace(getActivity()));
textViewTimer5.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Utils.startCountDownTimer(300000, remainedMinTextView, remainedSecTextView);
}
});