问题描述
我正在制作一个可穿戴应用。我的默认布局是框架布局。我在 onFinish 方法中有一个倒数计时器,我想在同一个框架布局中调用 5 秒倒数计时器。
基本上当第一次倒计时结束时,我将所有东西都隐藏起来。然后我调用一个将我连接到我的片段的方法。我最终得到了布局,但它没有倒计时。我的意思是我的片段中的文本视图应该已经改变了,但它没有。
我的倒数计时器是否在下面的代码中声明不正确?
package com.example.ticwatch_dc;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.os.CountDownTimer;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
/**
* A simple {@link Fragment} subclass.
* Use the {@link Stop_Pump_fragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class Stop_Pump_fragment extends Fragment {
// Todo: Rename parameter arguments,choose names that match
// the fragment initialization parameters,e.g. ARG_ITEM_NUMBER
private static final String ARG_ParaM1 = "param1";
private static final String ARG_ParaM2 = "param2";
private TextView textView;
// Todo: Rename and change types of parameters
private String mParam1;
private String mParam2;
public Stop_Pump_fragment() {
// required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment Stop_Pump_fragment.
*/
// Todo: Rename and change types and number of parameters
public static Stop_Pump_fragment newInstance(String param1,String param2) {
Stop_Pump_fragment fragment = new Stop_Pump_fragment();
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);
}
//My count down timer method
counter();
}
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_stop__pump_fragment,container,false);
}
public void setText(String text)
{
textView = (TextView) getView().findViewById(R.id.textView);
textView.setText(text);
}
public void counter()
{
CountDownTimer countDownTimer = new CountDownTimer(5000,1000) {
@Override
public void onTick(long millisUntilFinished) {
//time in minutes and seconds
// int minutes = (int) (5000 / 1000) / 60;
int seconds = (int) (5000 / 1000) % 60;
//formating the above to appear as String
String timeLeftFormattedsec = String.format("%02d",seconds);
setText(timeLeftFormattedsec);
}
@Override
public void onFinish() {
Intent i = new Intent(getActivity(),stop_pump.class);
startActivity(i);
((Activity) getActivity()).overridePendingTransition(0,0);
}
}.start();
}
}
所以基本上我有一个名为 counter 的方法,我在其中使用了倒数计时器类,并在片段的 onCreate 方法中调用它。所以基本上当我运行我的应用程序时,我的活动有一个倒数计时器,完成后,就像我之前所说的那样,使用框架布局作为容器调用我的片段。片段的内容出现了,但片段中的倒计时并没有更新我的文本视图,它被称为 textView 那么我做错了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)