根据用户选择将数据从微调器传递到TextView

时间:2016-02-28 12:32:10

标签: java android

所以我有一个包含2个可能选项的Spinner。但是我在其他活动中只有一个TextView,用户选择将显示在其中。

问题是,如何在第二次活动中设置?用各种if语句多次尝试,没有任何效果。

这是我的微调器的代码

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                        if (position == 0){

                            intent.putExtra("ciljJePovecanjeTezine", cilj.getSelectedItem().toString());

                        } else if (position == 1){
                            intent.putExtra("ciljJeMrsavljenje", cilj.getSelectedItem().toString());

                        }
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> parent) {

                    }
                });

这是我希望文本出现的第二个活动

String prehrana = intent.getStringExtra("ciljJePovecanjeTezine");
        String prehrana2 = intent.getStringExtra("ciljJeMrsavljenje");

        ciljPrehranaRezultat = (TextView) findViewById(R.id.textViewPrehranaCiljRezultat);

        ciljPrehranaRezultat.setText(prehrana);
        ciljPrehranaRezultat.setText(prehrana2);

现在如何设置如果用户选择选项1,选项1显示在TextView中,如果用户选择选项2,则会显示选项2?

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该使用全局String变量来保存微调器值,然后按下按钮(或用于更改活动的任何内容)将其发送到其他活动。例如:

String spinnerValue;

public void onCreate(...){
...
spinnerValue = cilj.getSelectedItem().toString()
...
}

public void onItemSelected(...){
     spinnerValue = cilj.getSelectedItem().toString();
}


Intent intent = new Intent(THIS_ACTIVITY,OTHER_ACTIVITY.CLASS);
intent.putExtra("spinnerValue",spinnerValue);
startActivity...