繁体   English   中英

Android switch语句仅发送1个“键”值

[英]Android switch statement only sending 1 “key” value

我正在制作一个安卓货币转换器应用程序,我的MainActivity上有4个按钮。 当单击某个按钮时,我需要它然后将分配给它的字符串ive发送到我的MainActivity2,然后在其中将其显示在我分配的文本视图中。 我可以让它发送1(最后一种情况:陈述),所以我尝试了一条if语句,但结果相同。

主要活动

public void firstCurrencyChoice(View view)
    {
        switch(view.getId())
        {
            case R.id.usdButton:
                Intent a = new Intent(MainActivity.this, Main2Activity.class);
                a.putExtra("key","USD");
                startActivity(a);
                break;

            case R.id.eurButton:
                Intent b = new Intent(MainActivity.this, Main2Activity.class);
                b.putExtra("key", "EUR");
                startActivity(b);
                break;

            case R.id.jpyButton:
                Intent c = new Intent(MainActivity.this, Main2Activity.class);
                c.putExtra("key", "JPY");
                startActivity(c);
                break;

            case R.id.gbpButton:
                Intent d = new Intent(MainActivity.this, Main2Activity.class);
                d.putExtra("key","GBP");
                startActivity(d);
                break;
        }
    }

Main2活动

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        final Button btn1 = (Button)findViewById(R.id.optionOneButton);
        final Button all = (Button)findViewById(R.id.converAllButton);
        final TextView firstChoiceTV = (TextView)findViewById(R.id.firstChoiceTV);

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(Main2Activity.this, Main3Activity.class));
            }
        });

        all.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(Main2Activity.this, Main4Activity.class));
            }
        });

        Intent d = getIntent();
        String getA = d.getStringExtra("keyA");
        firstChoiceTV.setText(getA);

        Intent e = getIntent();
        String getB = e.getStringExtra("keyB");
        firstChoiceTV.setText(getB);

        Intent f = getIntent();
        String getC = f.getStringExtra("keyC");
        firstChoiceTV.setText(getC);

        Intent g = getIntent();
        String getD = g.getStringExtra("keyD");
        firstChoiceTV.setText(getD);

    }
}

您正在使用key key设置一个额外key ,但是当您尝试阅读时,您正在使用keyAkeyB来阅读其他keyB

只需获取分配给key的值

    String value = getIntent().getStringExtra("key");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM