我製作了一個地址數組,其中有5個值。使用數組中的editText搜索相關詞
String address[] = {
"New York",
"Sydney",
"Brisbane",
"Paris",
"Milan"
}
我MapsActivity
寫了事件onClicklistener
代碼。我使用這個事件來搜索我的地圖活動中的某個標記,並使用數組的值標題。
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」鍵入它會顯示「巴黎」,所以我不t需要在數組中輸入完整的地址。如何解決這個問題呢?
使用textwatcher代替ü不會需要定義按鈕,它是一個簡單快捷的解決方案,文本監視器自動從您的編輯文本中獲取文本並從給定的數組列表中進行搜索 –
如果有超過2個el包含輸入文本的元素? – user3437460
我只在輸入文本中輸入地址 –