На самом деле, ваш конструктор передал значения не проблема.Ваша проблема в том, что getDetails ничего не возвращает, или в kotlin это Unit.
Вот улучшения, которые я создал: во-первых, удалите перегруженный конструктор и используйте значение по умолчанию для профессии.Этот подход работает так же, как перегруженный метод, только в том, что он имеет более короткие строки.Затем я исправил вашу функцию getDetails, чтобы она возвращала строку.Проще говоря, знак равенства - это сокращение от «return this ->», где в синтаксисе это
fun methodNAme() return this -> something
class EmployeeConst(
var name:String,
var age:String,
var profession:String = "Not mentioned"
) {
fun getDetails() =
"Employee details is $name whose profession is $profession and age is $age"
}
class FragmentDashboard : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
var person= EmployeeConst("name","sdf","test")
Log.i("Testings",""+person.getDetails()) //here testings is not printing correctly.
return inflater.inflate(R.layout.fragment_dashboard, container, false)
}
}