2011-12-08 40 views
2

我試圖編寫一種方法將兩個微調器的值傳遞給另一個活動。傳遞微調器值

我在網上找到了使用putExtra方法的例子,但是我自己實現時遇到了問題(我想我只是不清楚它是如何工作的)。

我的代碼是(沒有在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

你是英雄,編碼和android的英雄。乾杯。 – djcmm476