Я новичок в разработке приложений для Android. Я делал все в порядке, пока не решил добавить фрагмент, на котором будет отображаться Countdowntimer. Я смотрел Stackoverflow, но ни один из решений не работал для моего сценария. Вот проблемы, которые возникают у меня:Можете ли вы поместить Countdowntimer во Фрагмент?
1. Когда приложение запустится, фрагмент не отобразится. Любой текст из запрошенного Textview [R.id.Time_view]; (я думаю, что проблема в том, как я вернулся фрагменты, я использовал layoutinflater вместо setcontentview, предположим?)
2. Код не работает и приводит к сбою устройства; (я считаю, что я испортил с ниже классом и методы)
import android.app.Fragment;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class Timer_java extends Fragment{
/*Can inflating the Fragment layout,
instead of using setcontentview, cause these problems?*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstance){
View v;
v = inflater.inflate(R.layout.timer_fragment, container, false);
return v;
}
@Override
public void onStart(){
TimerActivity counter = new TimerActivity(30000,1000);
counter.start();
}
TextView Time_view = (TextView)getView() .findViewById(R.id.Time_view) ;
TextView done;
public class TimerActivity extends CountDownTimer {
public TimerActivity (long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onTick(long millisUntilFinished) {
Time_view.setText("Time left:" + millisUntilFinished/1000);
}
@Override
public void onFinish() {
done.setText("Done");
}
}
}
Xml макета:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#ffdcddd8"
android:gravity="center">
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/timer"
android:gravity="center"
android:textStyle="bold"
android:textSize="16sp"
android:id="@+id/Time_view"/>
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/score"
android:textStyle="bold"
android:textSize="16sp"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="85dp"
android:layout_marginEnd="85dp" />
</RelativeLayout>
Можете ли вы добавить свой макет timer_fragment xml? – Squirrelkiller