這聽起來有點複雜。 我在一次活動中大約有15個紡紗廠,併爲這些紡紗廠的每個紡紗廠做出了獨特的方法。然後我啓動onCreate方法中的方法。爲多個Spinners創建了一個方法 - 如何將這些數據傳遞給新的活動?
方法例如:
//Relative Position Spinner
public void relativePositionSpinner() {
Spinner relativePositionSpinner = (Spinner) findViewById(R.id.spinner_relativePosition);
ArrayAdapter relativePositionAdapter = ArrayAdapter.createFromResource(this, R.array.relativePosition, R.layout.spinner_item);
relativePositionSpinner.setAdapter(relativePositionAdapter);
//what happens when selected
relativePositionSpinner.setOnItemSelectedListener(this);
}
onCreate方法:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_hand);
//initiate all Spinners
relativePositionSpinner();
absolutePositionSpinner();
etc.
現在,我要的是每個微調的數據發送到另一個活動與按鈕的點擊。我知道,我可以用一個意圖做到這一點,在按鈕的方法是這樣使用putExtra:
public void openHandSummary() {
//Find the Button that gives option to enter new hand
Button handInputButton = (Button) findViewById(R.id.hand_input_button);
//set a click listener on Hand Analyzer Button
handInputButton.setOnClickListener(new View.OnClickListener() {
//below code will be executed when the new Hand Button is clicked
@Override
public void onClick(View view) {
Intent handSummaryIntent = new Intent(NewHandActivity.this, HandSummaryActivity.class);
handSummaryIntent.putExtra("RelPosString", WHATTOENTERHERE??)
startActivity(handSummaryIntent);
}
});
}
但是我不知道如何檢索值/可變我的紗廠將它們放到按鈕/意圖方法?因爲如果我在Spinner方法中創建一個字符串,那麼我無法在Button方法中訪問它。
所以我覺得我有太多的方法?那麼有沒有辦法將數據從一種方法傳遞給另一種方法,還是我必須取消某些方法?什麼是最簡單的方法來設置它?
我也做了一個onItemSelected來做一些敬酒,它的工作。我可以使用OnItemSelected以某種方式創建變量或啓動數據傳輸到另一個活動?
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
TextView myText = (TextView) view;
switch (parent.getId()) {
case R.id.spinner_relativePosition:
makeText(NewHandActivity.this, "Relative Position is " + myText.getText(), Toast.LENGTH_SHORT).show();
break;
case R.id.spinner_absolutePosition:
makeText(NewHandActivity.this, "Absolute Position is " + myText.getText(), Toast.LENGTH_SHORT).show();
break;
我很新的編碼,我只是想不通的邏輯我是如何得到的微調方法,按鈕/ iniate方法和OnItemSelected方法一起交流變量的工作。如果有人能指引我正確的方向,將不勝感激。已經瀏覽了一天左右的互聯網找到答案,沒有成功。
我會推薦在任何方法之外全局聲明'relativePositionSpinner'。然後你可以在你的活動中的任何地方使用它。 'String [] relativePositionArray = getResources()。getStringArray(R.array.relativePostion); Log.i(TAG,relativePositionArray [relativePositionSpinner.getSelectedItemPosition()]);' –