検索

ホームページ  >  に質問  >  本文

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

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

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

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

天蓬老师天蓬老师2770日前1009

全員に返信(4)返信します

  • PHPz

    PHPz2017-04-17 16:51:58

    あなたの質問は非常に混乱しています。ポップアップするダイアログボックスであっても、フラグメント内の何かであっても、監視できるのはアクティビティに基づいている必要があるため、別のレイアウトに接続する必要があります。それは問題ではありません。

    アクティビティ内のコンポーネントはすべて、初期化に findViewById() に依存します。他のレイアウトにある場合、レイアウト ファイルは View に変換され、findViewById によって初期化されます。これは、editText がどの View であるかを知る必要があることを意味します。どのアクティビティの下で。

    ところで、前の質問には答えましたか - -

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 16:51:58

    オブジェクトに対する操作を行う前に、オブジェクトが存在する必要があります。 editText はビューページャー内にあるため、ビューページャーのアダプターで editText の監視を実装します。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:51:58

    まず、なぜ別のアクティビティで監視したいのですか? コンテンツを取得して変更したい場合は、ハンドラーまたはインテントを介して渡すことができます。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 16:51:58

    コールバックを自分で記述するか、eventbus を使用します。使用方法の詳細については、github を参照してください。

    返事
    0
  • キャンセル返事