在活动之间传递微调器

时间:2017-09-17 17:05:14

标签: java android android-spinner

我在每个活动中都有4个带有微调器的活动,这个微调器包含3个 字符串数据(下拉选择),当我从活动传递到另一个时,我必须在微调器内传递所选数据,就像我从微调器中的列表中选择数据x并单击按钮一样,所选数据必须在第二个活动中微调器也是x。 我没有任何解决方法,我读了几个解我希望在这里解决它,这是我的微调器的代码以及在何处放置目标代码

set(ENV{<variable>} <value>)

3 个答案:

答案 0 :(得分:0)

你可以这样做

String selectedItem=spinner1.getSelectedItem().toString();

String您可以使用Intent

传递

答案 1 :(得分:0)

这是我能想到的最无痛的方式: 创建一个新类或现有类的静态成员,但第二个解决方案使代码不易理解。

public class SpinnerPosHolder{
    public static int poition;
}

然后在所有4个中:

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
SpinnerPosHolder.position = spinner.getSelectedItemPosition();

使用它:

spinner.setSelection(SpinnerPosHolder.position)

答案 2 :(得分:0)

首先在String变量中保存所选数据的位置,

int positionOfSelectedDataFromSpinner;

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
       positionOfSelectedDataFromSpinner= position;
}

然后点击button点击向putExtra

的另一个活动发送意图
Intent i = new Intent (this, activity2.class);

i.putExtra("position", positionOfSelectedDataFromSpinner);
startActivity(i);

从另一项活动中的getIntent获取int

Intent intent = getIntent();
int positionToShowToSpinner = intent.getStringExtra("position");

然后将位置设置为微调器

spinner.setSelection(positionToShowToSpinner);

我认为这是我解决你的问题。