自定义 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) {
}
});
您好,我创建了自定义搜索视图,但我无法接收用户输入的文本
这是我的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) {
}
});