2017-08-31 1 views
0

私は、マップアクティビティでマップマーカーを表示するためのコードを記述します。 EditTextの配列の値を検索したいときに間違った値を入力した場合、ここにエラーメッセージを表示したいのですが、私はbtncari.onClickListenerです。edittextからのハンドル配列値のエラーandroid

btncari.setOnClickListener(new View.OnClickListener() { 
    int duration = Toast.LENGTH_SHORT; 

    @Override 
    public void onClick(View view) { 
     if ( editcari.getText().toString().isEmpty() 
      || editcari.getText().toString().equals(null)) { 
      Toast.makeText(FragmentPeta.this, "Masukkan Nama Wisata", duration).show(); 
     } else { 
      for(int i=0; i < nama.length; i++) { 
       if (nama[i].toLowerCase().contains(editcari.getText().toString())) { 
        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; 
       } 
      } 
     } 
    } 
}); 

はまた、私は私がArraysを使用するときに差がある。この

if (Arrays.asList(nama).contains(editcari.getText().toString())) { 
    Toast.makeText(FragmentPeta.this, "welcome", duration).show(); 
} 
else 
{ 
    Toast.makeText(FragmentPeta.this, "Error", duration).show(); 
} 

ようArraysで試してみたそれは常に"Error"本家I入力配列から正しい値を表示します。ですから、editsearchに適切な値を入力すると、入力したマーカーがズームされます。問題はまだ表示され続ける"error message"です。

if Arrays.asListif (editcari.getText()の上に置きます。

答えて

0

if (nama[i].contains(editcari.getText().toString())){ 
//Your code 
} 

代わりの

if (nama[i].toLowerCase().contains(editcari.getText().toString())){ 
//Your code 
} 

他の賢明なあなたは

それを使用し、[編集]テキスト入力は、あなたの配列リストに含まれているに

boolean checkArrayList(String[] list, String input) { 
    for (String item : list) { 
     if (item.equals(input)) { 
      return true; 
     } 
    } 
    return false; 
} 

をチェックするメソッドを作成することができますしてみてください

if (checkArrayList(nama, editcari.getText().toString())) { 
    Toast.makeText(FragmentPeta.this, "welcome", duration).show(); 
} else { 
    Toast.makeText(FragmentPeta.this, "Error", duration).show(); 
} 
+0

私はすべての指示に従っていますが、問題は第1引数型が見つかっています。java.lang.string []、必須java.util.arraylist '入力時にエラーが表示される' if(checkArrayList(nama' –

+0

)コードが変更されました。今すぐチェックしてください – EKN

+0

エラーメッセージが表示され、問題が発生しました。 –

関連する問題