片段不在kotlin但在java中它工作(相同的代码)

时间:2017-07-13 17:38:44

标签: android kotlin

我试图在FrameLayout中运行一个片段:

来自activity.kt的代码:

...
 frag.arguments = bundle
                ft.replace(R.id.framelayout_record, frag, "feedback")
               // ft.addToBackStack(null)
                ft.commitNow()
...

这项工作:

   View root;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        root = inflater.inflate(R.layout.fragment_employee_feedback, container, false);
        return root;
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        new AlertDialog.Builder(getActivity()).setMessage("Testtt").show();
    }

警报正确显示

但使用此:

class TestFragment : Fragment() {

        internal lateinit var root: View

        override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,
                                  savedInstanceState: Bundle?): View? {
            root = inflater!!.inflate(R.layout.fragment_employee_feedback, container, false)
            return root
        }

        override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
            AlertDialog.Builder(activity).setMessage("Test Kotlin").show()
        }
    }

没有任何反应,只显示布局但没有警报,我无法访问布局元素

0 个答案:

没有答案