2012-10-05 3 views
0
public void mapDisplay() { 
    final String[] selectedItem= getResources().getStringArray(R.array.map_display_choices); 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    // Set the dialog title 
    builder.setTitle(R.string.mapDisplay) 
      .setSingleChoiceItems(R.array.map_display_choices, mapDisplayOpt, 
         new DialogInterface.OnClickListener() { 

      public void onClick(DialogInterface dialog, int which) { 
       if(selectedItem[which].equals(Satellite)){ 
        mapDisplayOpt = 1; 
        mapView.setSatellite(true); 
        dialog.dismiss(); 
       }else if(selectedItem[which].equals[Traffic]){ 
        mapDisplayOpt = 2; 
        mapView.setTraffic(true); 
        dialog.dismiss(); 
       }else { 
        mapDisplayOpt = 0; 
        mapView.setStreetView(true); 
        dialog.dismiss(); 
       } 
      } 
      });    
    AlertDialog alert = builder.create(); 
    alert.show();  
} 

나는 많은 것들에 대해 물어보고 싶습니다. 그래서 여러분 중 누구에게나 대답 할 수 있다면 대답하십시오.
1) 어떻게하면 알리미 상자가 나타날 때 을 선택할 수 있습니까? 라디오 버튼에 맞는 번호를 넣기 위해 mapDisplayOpt를 사용하고 있지만 라디오 버튼이 1,2, 3 또는 임의의 숫자?
2) o 버튼을 선택하면 이 즉시 사라지고 선택한 옵션을 볼 수 없습니다. 내가 어떻게 고칠 수 있니?
3) 에서 mapView를 기본값에서 위성 또는 트래픽 중 하나로 변경합니다. 기본 mapview로 어떻게 돌아갈 수 있습니까? 내가 사용하는 streetView는 더 이상 사용되지 않습니다.
감사합니다.라디오 버튼 알림 상자

답변

2

.equals()을 사용하면 java (Android)의 String을 비교할 수 있습니다.

==은 ...

if(selectedItem[which].equals("Satellite")){ 

} 
+0

덕분에 문자열 (객체) refrences (메모리 위치)

.equals()는 문자열 (객체) 값을 비교 비교! 내가이 변경됩니다! – userX

관련 문제