有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    1. 创建一个这样的界面

      interface OnDataChangeListener {
           fun onChange(string: String)
      }
      
    2. 在片段的构造函数中,将此接口的实例作为参数传递

      class MyFragment(val onDataChangeListener: OnDataChangeListener): Fragment
      
    3. 现在,当编辑文本中的文本发生变化时,调用此接口的方法

      editText.addTextChangedListener(object : TextWatcher{
           override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
           }
      
           override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
           }
      
           override fun afterTextChanged(s: Editable?) {
               onDataChangeListener.onChange(s.toString())
           }
       })
      
    4. 现在在我们的活动中实现这个接口

      class MainActivity : AppCompatActivity(), OnDataChangeListener {
      
        override fun onCreate(savedInstanceState: Bundle?) {
             super.onCreate(savedInstanceState)
             setContentView(R.layout.activity_main)
      
             AppUtils.addFragment(this, MyFragment(this), R.id.fragment_container)
        }
      
        override fun onChange(string: String) {
             val textView = findViewById<TextView>(R.id.textView)
             textView.text = string
        }
      }
      

    就这样。这将为您提供所需的输出

  2. # 2 楼答案

    创建Activity实现的接口,并将其传递给Fragment。然后,在你的Fragment中添加一个TextWatcherEditText中,并通知onTextChanged中的侦听器。这种方法基于Android Docs