我正在尝试在一个片段中创建一个秒表功能。 在创建片段视图时,“我的功能”一直崩溃。
从我检查的结果来看,这是因为可运行。 使用Runnable在哪里做错了? 任何帮助都会很棒:)
public class StopwatchFragment extends Fragment {
public static boolean startRun;
public static int seconds=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i("Right", "onCreate()");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.i("Right", "onCreateView()");
View view = inflater.inflate(R.layout.fragment_timer, container, false);
if(savedInstanceState != null){
seconds = savedInstanceState.getInt("seconds");
startRun=savedInstanceState.getBoolean("startRun");
}
final TextView timeView = view.findViewById(R.id.time_view);
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
int hours = seconds/3600;
int minutes = (seconds%3600)/60;
int secs = seconds%60;
String time = String.format("%d:%02d:%02d", hours, minutes, secs);
timeView.setText(time);
if(startRun){
seconds++;
}
handler.postDelayed(this, 100);
}
};
handler.post(runnable);
return view;
}