2015-08-19 70 views
1

IM構建具有自毀圖像和我試圖從旋轉選擇的值傳遞給另一個類的應用程序在旋轉陣列傳遞一個選擇的值到另一個類的Android

final String titles[] = {"1 Second","2 Seconds", "3 Seconds","4 Seconds","5 Seconds","6 Seconds","7 Seconds", "8 seconds, "9 seconds", 10 seconds}; 
    mSeconds = (Spinner) view.findViewById(R.id.secondsSpinner); 
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, titles); 
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

mSeconds.setAdapter(arrayAdapter); 
mSeconds.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
     int secondsToUse = position + 1; 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parentView) { 
     // do nothing 
    } 

}); 

我的意圖的方法:

Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class); 
recipientsIntent.putExtra("key1", titles); 
         startActivity(recipientsIntent); 

如何將選定的值傳遞給另一個類?我的方法傳遞整個數組而不是選擇的項目。

+0

你必須從你的示例代碼中傳遞什麼值? – ImMathan

+0

@ImMathan用戶從微調器中選擇的值 – smithyy

+2

[在android活動之間傳遞字符串數組]可能的副本(http://stackoverflow.com/questions/4429036/passing-string-array-between-android-activities) – moffeltje

回答

5
Spinner.getSelectedItem(); 

會給你選定的項目。

Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class); 
       recipientsIntent.putExtra("spinnerItem", Spinner.getSelectedItem()); 
       startActivity(recipientsIntent); 

如果你需要額外的邏輯這背後LMK ..也Spinner.getSelectedItem()會返回一個對象。你需要將它投射到你期望的任何地方。 A爲例串... Spinner.getSelectedItem().toString()

要在意圖傳遞一個int:

Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class); 
recipientsIntent.putExtra("YOUR_INT_KEY", secondsToUse); 
startActivity(recipientsIntent); 

您的INT沒有在你的意圖工作的原因是因爲它是一個局部變量的onItemSelected()函數。使它成爲一個成員變量或把它放在外面onItemSelected

+0

我在哪裏加上'Spinner.getSelectedItem()。的toString()'在我onItemSelect方法 – smithyy

+0

你會把這些代碼你onItemSelect接口方法之外。如果您打算立即使用所選值執行某些操作,您可能需要將其放入onItemSelect方法中。或者如果您打算存儲稍後使用的值。如果我知道你想要做什麼與選定的項目它會更容易引導你大聲笑 – cj1098

+0

是的,謝謝我將它放在一個計時器,所以我想把選定的值,以另一個類上傳它來解析,然後把它放回另一個類中放入一個定時器 – smithyy

1
final String titles[] = {"1 Second","2 Seconds", "3 Seconds","4 Seconds","5 Seconds","6 Seconds","7 Seconds", "8 seconds, "9 seconds", 10 seconds}; 
Bundle b=new Bundle(); 
b.putStringArray(key, titles); 
Intent i=new Intent(context, Class); 
i.putExtras(b); 
startActivity(i); 

爲了閱讀:

Bundle b=this.getIntent().getExtras(); 
String[] array=b.getStringArray(key); 
+0

我想向選定的號碼從數組傳遞給另一個類 – smithyy

1

下面是代碼DIS關閉工作

派:

Intent intentS=new Intent(getActivity(), Main_ExerciseLibrary_Overview_Activity.class); 
        intentS.putExtra("yourInt",Value); 
        startActivity(intentS); 

收到:

Bundle b = getIntent().getExtras(); 
    int myint = b.getInt("yourInt"); 
+0

我想獲得從陣列選定的數傳轉移到另一個階級 – smithyy

+0

現在就來試試,並告訴我,如果它的工作 –

+0

沒有它沒有我傳遞secondsToUse,但它不起作用 – smithyy

相關問題