有人可以告訴我我是如何做到的,或者有人可以將此活動更改為片段。我現在在編程方面的經驗很少,所以我自己做不到。
public class SplashActivity extends AppCompatActivity {
FirebaseAuth auth;
FirebaseUser user;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
auth=FirebaseAuth.getInstance ();
user=auth.getCurrentUser ();
new Handler( ).postDelayed (new Runnable () {
@Override
public void run() {
if (user !=null)
{
startActivity ( new Intent( SplashActivity.this,HomeActivity.class ) );
}
else
{
startActivity ( new Intent ( SplashActivity.this,Login.class ) );
}
finish ();
}
},1500 );
}
}
uj5u.com熱心網友回復:
我將從了解它們的生命周期(活動和片段)開始。然后,我們可以很好地了解將代碼從活動中的 onCreate() 移動到 Fragment 中的 onViewCreated() 的位置。另請注意,活動擴展了 AppCompatActivity 而 Fragment 擴展了 Fragment 類。有了這兩個觀察結果,我們現在可以如下進行。請注意由于從活動到類的更改而對布局和類進行了重命名。
class SplashFragment extends Fragment {
private FirebaseAuth auth;
private FirebaseUser user;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
auth = FirebaseAuth.getInstance ();
user = auth.getCurrentUser ();
return inflater.inflate(R.layout.fragment_splash, container, false);
}
@Override
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
new Handler().postDelayed (new Runnable () {
@Override
public void run() {
//Do your logic here.
}
}, 1500);
}
}
參考:片段生命周期: https ://developer.android.com/guide/fragments/lifecycle 片段實作:https ://developer.android.com/guide/fragments/create
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/476225.html
上一篇:回收站視圖未顯示在片段內
下一篇:使用Mutablelivedata從DialogFragmentColorPicker更改片段的背景顏色不起作用
