将微调器数组中的选定值传递给另一个 class Android
pass a selected value in a spinner array to another class Android
我正在构建一个具有自毁图像的应用程序,我正在尝试将从微调器选择的值传递给另一个 class
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);
如何将选定的值传递给另一个 class?我的方法传递整个数组而不是所选项目。
Spinner.getSelectedItem();
会给你选择的项目。
Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
recipientsIntent.putExtra("spinnerItem", Spinner.getSelectedItem());
startActivity(recipientsIntent);
如果您需要此 lmk 背后的额外逻辑.. 另外 Spinner.getSelectedItem()
将 return 一个对象。您需要将其转换为您期望的任何内容。例如一个字符串... Spinner.getSelectedItem().toString()
在 intent 中传递一个 int:
Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
recipientsIntent.putExtra("YOUR_INT_KEY", secondsToUse);
startActivity(recipientsIntent);
您的 int 不符合您的意图的原因是因为它是 onItemSelected() 函数的局部变量。使其成为成员变量或将其放在 onItemSelected
之外
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);
这是关闭工作的代码
发送:
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");
我正在构建一个具有自毁图像的应用程序,我正在尝试将从微调器选择的值传递给另一个 class
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);
如何将选定的值传递给另一个 class?我的方法传递整个数组而不是所选项目。
Spinner.getSelectedItem();
会给你选择的项目。
Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
recipientsIntent.putExtra("spinnerItem", Spinner.getSelectedItem());
startActivity(recipientsIntent);
如果您需要此 lmk 背后的额外逻辑.. 另外 Spinner.getSelectedItem()
将 return 一个对象。您需要将其转换为您期望的任何内容。例如一个字符串... Spinner.getSelectedItem().toString()
在 intent 中传递一个 int:
Intent recipientsIntent = new Intent(getActivity(), RecipientsActivity.class);
recipientsIntent.putExtra("YOUR_INT_KEY", secondsToUse);
startActivity(recipientsIntent);
您的 int 不符合您的意图的原因是因为它是 onItemSelected() 函数的局部变量。使其成为成员变量或将其放在 onItemSelected
之外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);
这是关闭工作的代码
发送:
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");