关于在MainActivity中监听 另一个layout中的edittext

我想在MainActivity中去监听另一个layout中的edittext 在MainActivity中有用到ViewPage 但是在oncreate中初始化 然后去监听 会出空指针的错

但是如果在edittext所在的layout中加一个button 然后给 一个android:onClick="onclick"
然后在MainActivity中去实现这个点击事件 在这个事件下去初始化edittext实现监听就不会出错 但是这样会导致edittext.addTextChangedListener 多次的使用 如果edittext很多的话会导致程序崩溃

有什么办法能在点击事件外去监听这些edittext 不出NullpointerException的错误啊

阅读 4.5k
4 个回答

题主你的问题非常混乱,Activity里面有的组件才能监听,无论是对话框弹出的也好,还是Fragment里面的也罢,他一定要是依托在Activity里面才行的,所以和另外的layout没什么关系。

Activity里面的组件都依赖于findViewById();进行初始化,如果在其他layout里面,都会将布局文件转成View,然后通过findViewById去初始化,意思就是一定要清楚你这个editText在哪个View下面,在哪个Activity里面。

话说我是不是回答过题主之前几个问题- -

必须先有对象,才会有对象的操作。你的editText是在viewpager里吧,那就在viewpager的adapter里实现editText的监听啊。

首先你为什么要监听另一个activity里的东西,如果是为了获取内容进行变化,完全可以用handler传递或者用intent传递

自己写一个回调,或者使用eventbus,使用方法具体请到github

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题