自定义 SearchView TextChange

Custom SearchView TextChange

您好,我创建了自定义搜索视图,但我无法接收用户输入的文本

这是我的view_search.xml

        <EditText
            android:id="@+id/search_input_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            android:layout_toEndOf="@id/close_search_button"
            android:hint="جستجو..."
            android:layout_toRightOf="@+id/close_search_button"/>

我把它放到工具栏

            <ir.mahdi.circulars.CustomView.SearchView
                android:id="@+id/searchView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:theme="@style/SearchView"
                app:showDividers="none" />

这是我的搜索视图 class

class SearchView(
    context: Context,
    attrs: AttributeSet
) : FrameLayout(context, attrs) {

    init {
        LayoutInflater.from(context)
            .inflate(R.layout.view_search, this, true)

    }

我不知道如何处理 searchview textchange

您在 Kotlin 中尝试过吗?

var searchView = findViewById<EditText>(R.id.search_input_text)

var searchValue = searchView?.editableText.toString()

如果您想在 Java 中使用侦听器;

 searchView.addTextChangedListener(new TextWatcher() {

   @Override
   public void afterTextChanged(Editable s) {}

   @Override    
   public void beforeTextChanged(CharSequence s, int start,
     int count, int after) {
   }

   @Override    
   public void onTextChanged(CharSequence s, int start,
     int before, int count) {

   }
  });