你好Android开发者,
我的Android SearchView小部件有问题.我要做的是将"实时"文本过滤器附加到我的ListView(文本输入自动刷新过滤器结果).它的工作原理很好,并且使用这些代码在ListActivity上工作并没有太大的努力:
private SearchView listFilter;
this.listFilter = (SearchView) findViewById(R.id.listFilter);
this.listFilter.setOnQueryTextListener(this);
this.listFilter.setSubmitButtonEnabled(false);
this.getListView().setOnItemClickListener(this);
this.getListView().setTextFilterEnabled(true);
// from OnQueryTextListener
public boolean onQueryTextChange(String newText) {
if (newText.isEmpty()) {
this.getListView().clearTextFilter();
} else {
this.getListView().setFilterText(newText);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
这里是xml小部件声明
<SearchView
android:id="@+id/listFilter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:iconifiedByDefault="false"
android:queryHint="enter text to filter" />
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,每次我在SearchView中输入文本时,会立即弹出一个奇怪的文本字段,显示与我刚刚输入的相同的文本,这是无用的,因为我可以在SearchView本身看到我的输入,它部分阻止了看到我的列表条目,这很烦人.
是否有任何方法可以防止在输入SearchView时弹出该文本字段?我在xml定义的小部件选项和java类引用上都找不到任何属性.
我知道有另一种方法可以通过使用EditText和TextWatcher来提供过滤器功能,但是我必须自己处理过滤,并且无法从为我处理它的SearchView中获利.
任何建议表示赞赏.最好的祝福
费利克斯
我现在对此有点抓狂,无论我看了多少教程和读了多少代码片段,我根本无法理解这个概念。
我只是想将一个标记图像放在我点击的另一个图像的顶部。
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MyLayout() {
PlaceMarkerOnImage(it)
}
}
}
@Composable
private fun MyLayout(
placeMarker: (Offset) -> Unit
) {
val painter: Painter = painterResource(id = R.drawable.image)
Column(Modifier.fillMaxSize()) {
Box(
modifier = Modifier.weight(0.95f)
) {
Image(
contentScale = FillBounds,
painter = painter,
contentDescription = "",
modifier = Modifier.pointerInput(Unit) {
detectTapGestures(
onTap = {
placeMarker(it)
}
)
}
)
}
Button(
onClick = { },
modifier = Modifier.weight(0.05f),
shape = …Run Code Online (Sandbox Code Playgroud)