2011-12-08 5 views
2

두 회 전자 값을 다른 활동으로 전달하는 방법을 코딩하려고합니다.회 전자 값 전달

온라인으로 putExtra 메서드를 사용하는 예제를 발견했지만 직접 구현하는 데 문제가 있습니다. 정확히 어떻게 작동하는지 명확하지 않습니다.

(즉 I가 붙어 비트의 때문에 putExtra 방법에 어떤 값없이) 내가 가진 코드는 다음과 같습니다

public void addListenerOnButton() { 

     transportSpinner = (Spinner) findViewById(R.id.transportSpinner); 
     locationSpinner = (Spinner) findViewById(R.id.locationSpinner); 

     buttonSubmit = (Button) findViewById(R.id.buttonSubmit); 

     buttonSubmit.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       Intent i = new Intent(GetDirections.this.getApplicationContext(), DirectionDisplay.class); 
       i.putExtra(); 
       GetDirections.this.startActivity(i); 

      } 

     }); 
} 

감사합니다.

+0

? 예를 들어'Intent '에 무엇을 포장하고 있습니까? – Phil

+0

회 전자에 어떤 어댑터를 사용하고 있습니까? – havexz

답변

1

당신의 스피너가 제대로 설치되었는지 가정하면, 당신은 할 수 있습니다 :

... 
i.putExtra("transportSpinnerSelected", transportSpinner.getSelectedItem()); 
i.putExtra("locationSpinnerSelected", locationSpinner.getSelectedItem()); 
... 
+0

감사합니다. 정말 도움이되었습니다. – djcmm476

+0

문제 없으니 도움이 되니 기쁩니다. 정확한 답으로 표시했다면 좋을 것입니다. 감사합니다! – gwa

2

건물 GWA의 대답에 : 당신이 (당신의 스피너를 가정 할 필요가 의도에서이 화면에서

올바른 값이 물론) :

Intent i = new Intent(GetDirections.this.getApplicationContext(), DirectionDisplay.class); 
i.putExtra("transportSpinnerValue", transportSpinner.getSelectedItem().toString()); 
i.putExtra("locationSpinnerValue", locationSpinner.getSelectedItem().toString()); 
GetDirections.this.startActivity(i); 

그런 다음 다음 화면에서 해당 값을 검색해야합니다. Intent에서 추가 정보를 전달 했으므로 다음 수업의 의도에서 정보를 가져와야합니다.

그렇게 :

//DirectionsDisplay class 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Bundle extras = getIntent().getExtras(); 
    String transportItemChosen = extras.getString("transportSpinnerValue"); 
    String locationItemChosen = extras.getString("locationSpinnerValue"); 

} 
정확히 당신이 뭘 하려는지
+0

당신은 영웅이며, 안드로이드와 코딩의 영웅입니다. 건배. – djcmm476