将微调器数组中的选定值传递给另一个Android类

smi*_*hyy 1 java arrays android spinner android-intent

我正在建立一个具有自毁图像的应用程序,我试图将从微调框中选择的值传递给另一个类

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
    }

});
Run Code Online (Sandbox Code Playgroud)

我的意图方法:

Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
 recipientsIntent.putExtra("key1", titles);
                      startActivity(recipientsIntent);
Run Code Online (Sandbox Code Playgroud)

如何将选中的值传递给另一个类?我的方法传递整个数组而不是选中的项目.

cj1*_*098 5

Spinner.getSelectedItem();
Run Code Online (Sandbox Code Playgroud)

将为您提供所选项目.

Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
                recipientsIntent.putExtra("spinnerItem", Spinner.getSelectedItem());
                startActivity(recipientsIntent);
Run Code Online (Sandbox Code Playgroud)

如果你需要这个lmk背后的额外逻辑..也Spinner.getSelectedItem()将返回一个对象.你需要把它投射到你期望的任何东西上.例如一个字符串......Spinner.getSelectedItem().toString()

在intent中传递int:

Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
recipientsIntent.putExtra("YOUR_INT_KEY", secondsToUse);
startActivity(recipientsIntent);
Run Code Online (Sandbox Code Playgroud)

你的int不在你的意图中的原因是因为它是onItemSelected()函数的局部变量.使它成为成员变量或将其放在onItemSelected之外