gpt4 book ai didi

java - 在数组的 editText 中搜索相关词

转载 作者:行者123 更新时间:2023-11-30 00:22:51 25 4
gpt4 key购买 nike

我做了一个地址数组,里面有 5 个值。

String address[] = {
"New York",
"Sydney",
"Brisbane",
"Paris",
"Milan"
}

我在 MapsActivity 中为事件 onClicklistener 编写了代码。我使用此事件在我的 map Activity 中使用数组值中的标题搜索一些标记。

btncari.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

for(int i=0; i < address.length; i++) {
if (nama[i].equalsIgnoreCase(editcari.getText().toString().trim())) {
marker.remove();
myMap.addMarker(new MarkerOptions().position(new LatLng(lat[i], lon[i])).title(nama[i])
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker_wisata))
);
CameraPosition camPos = new CameraPosition.Builder()
.target(new LatLng(lat[i], lon[i]))
.zoom(18)
.build();
CameraUpdate camUpd3 = CameraUpdateFactory.newCameraPosition(camPos);
myMap.animateCamera(camUpd3);
break;
} else
{
editcari.setText("Unavailable");
}
}}
});

如果我想在 EditText 中键入一些地址,但单词与实际地址值不完全相同,例如,如果我在 EditText 中键入仅“ari”它将显示“Paris”,因此我不需要在数组值中键入完整地址。如何解决这个问题?

最佳答案

你可以使用

nama[i].toLowerCase().contains(editcari.getText().toString().trim().toLowerCase())
// ^^^^^^^^^^ convert array values to lowercase
// convert input to lower case ^^^^^^^^^^^^^^^^^^^^
// check array value contains the input

或将数组中的值添加为小写,然后使用 nama[i].contains

一点改进

String input = editcari.getText().toString().trim().toLowerCase();
// take input only once , outside loop
for(int i=0; i < address.length; i++) {
if (nama[i].toLowerCase().contains(input)) {

关于java - 在数组的 editText 中搜索相关词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45962517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com