2017-07-31 11 views
1

特定のマーカーをクリックした場合、そのタグを取得してグローバル文字列に格納する必要があります。次に、オートコンプリート・テキストビューで入力したタグと同じタグであれば、このボタンをクリックして(トーストを表示する)をクリックします。marker.getTag()を文字列とアンドロイドのスタジオに保存する

マイonMarkerClickコード:

:これは私が "自転車" ボタンのonClickで

public void espana(){ 

    LatLng espana = new LatLng(14.612056, 120.995471); 
    MarkerOptions espanaMarker = new MarkerOptions(); 
    espanaMarker.position(espana); 
    espanaMarker.title("Espana"); 
    espanaMarker.snippet("Fare rate: 8-25 pesos"); 

    mCurrLocationMarker = map.addMarker(espanaMarker); 
    mCurrLocationMarker.setTag("bike"); 

    map.addPolyline(new PolylineOptions().add(
      new LatLng(14.611319, 120.994752), 
      new LatLng(14.612855, 120.996404) 
    ) 
      .width(5) 
      .color(Color.RED) 
    ); 
} 

私のコードと呼ばれるタグを設定している私のGoogleマップに入れマーカーである

@Override 
    public boolean onMarkerClick(Marker marker) { 
     tag = marker.getTag().toString(); 
     return false; 
    } 

public void onClick(View view) { 
    AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.text_category); 

      if (textView.getText().equals(tag)){ 

       Toast.makeText(this, "This is my message", Toast.LENGTH_LONG).show(); 
      } else { 
       Toast.makeText(this, "Error!", Toast.LENGTH_LONG).show(); 
      } 
} 

答えて

0

私のコードで何が問題なのかを知り、それは私のonclickボタンにあります。私は'to 'ステートメントに.toString()を追加するのを忘れていました。 textViewは文字列として読み込まれないため、プログラムは 'if'ステートメントをスキップします。

public void onClick(View view) { 
    AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.text_category); 

      if (textView.getText().toString().equals(tag)){ 

       Toast.makeText(this, "This is my message", Toast.LENGTH_LONG).show(); 
      } else { 
       Toast.makeText(this, "Error!", Toast.LENGTH_LONG).show(); 
      } 
} 
関連する問題