0
我試着去上onViewCreated
如果onCreateView語句第一種觀點
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
date = (TextView) view.findViewById(R.id.textDate);
date.setText(DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime()));
}
創建if語句,其中如果視圖是第一次,設置此兩個線路:
date = (TextView) view.findViewById(R.id.textDate);
date.setText(DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime()));
是否有任何其他我可能沒有想到和錯過的方法,或者if語句在這裏是更可行的方法。
下面的代碼的其餘部分:
public class Notifications extends Fragment {
TextView servingqueue;
TextView date;
DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference mServingQueue = mRootRef.child("ServingQueue");
public Notifications() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mServingQueue.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Double number = dataSnapshot.getValue(Double.class);
servingqueue.setText(String.valueOf(number));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
@Override
public void onDetach() {
super.onDetach();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_notifications, container, false);
// Inflate the layout for this fragmentid.queueServing);
servingqueue = (TextView) rootView.findViewById(R.id.queueServing);
return rootView;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
date = (TextView) view.findViewById(R.id.textDate);
date.setText(DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime()));
}
}
它正確地觸發savedinstance。但是爲什麼我在第一時間做出if語句的原因是由於這兩行創建的時間和日期會更新到我切換到這個片段的最後時刻。在我切換回該片段後,您的方法仍會觸發時間和日期。是否有一種方法在第一個視圖之後時間和日期保持靜態? –
@AnonymousVagrant:不,你必須將它保存在某個地方。 – DeeV