【发布时间】:2020-04-01 23:31:09
【问题描述】:
在我的 Java 代码中使用片段时,我检查了用户是否登录了他的 Firebase 帐户,如果他登录了,他会显示正确的视图,否则“你没有登录”片段会被夸大。
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
/**
* USER IS SIGNED IN
*/
View view = inflater.inflate(R.layout.fragment_calendar, container, false);
return view;
} else {
/**
* NO USER IS SIGNED IN
*/
View view = inflater.inflate(R.layout.fragment_unregistred, container, false);
return view;
}
}
现在在 Kotlin 中执行此操作似乎并不像应有的那么容易,它表示在 Java 中的相同位置不允许“返回”:
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
if(getUID.requestUserExistence() != null) {
FirebaseAuth.getInstance().currentUser!!.getIdToken(true).addOnCompleteListener{task ->
if(task.isSuccessful) {
val view = inflater.inflate(R.layout.fragment_crackthecode, container, false)
return view
}
}
}
}
那么为什么会这样呢?
【问题讨论】:
标签: android kotlin android-fragments view layout-inflater