繁体   English   中英

从一个活动向另一个活动发送和接收选定的微调器信息

[英]sending and receiving the selected spinner information from one activity to another activity

我有10个微调器和一个按钮。 通过单击按钮,活动A将转到另一个活动B,并且我想通过单击该按钮从微调框添加选定的信息,以从活动A发送到活动B,并希望在活动B中显示选定的微调框信息。

这是我的代码(活动A):

public class Firstactivity extends MainActivity {

    private Button btn;
    private Spinner spin;

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

        btn= (Button)findViewById(R.id.btn1s);
        spin=(Spinner)findViewById(R.id.spinner1);
        final String arr[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(Firstactivity.this, android.R.layout.simple_dropdown_item_1line, arr);
        spin.setAdapter(adapter);
        spin.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                // TODO Auto-generated method stub
                Toast.makeText(Firstactivity.this, "the item selected "+arr[arg2],Toast.LENGTH_SHORT).show();

            }

            @Override
    public void onNothingSelected(AdapterView<?> arg0) {
                 //TODO Auto-generated method stub

            }
        });


        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent inte = new Intent (Firstactivity.this, Finalorder.class);
                String Text = spin.getSelectedItem().toString();
                startActivity(inte);

            }
        });
}}

活动B:

public class Finalorder extends MainActivity {

    Bundle Bundle;
    TextView txt;
    Button btn;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.last);

        Bundle=getIntent().getExtras();
        btn=(Button)findViewById(R.id.btn1s);


        Bundle=getIntent().getExtras();
        txt.setText(Bundle.getString("SPINNERVAL"));

    }
}

您需要使用所有微调器值创建自定义可序列化或可包裹对象。 并通过活动进行转移。

像这样:

public class SpinnersData implements Serializable
{
    private String spinner1;
    private String spinner2;
    //....
    private String spinner10;


    public String getSpinner1()
    {
        return spinner1;
    }
    public void setSpinner1(String spinner1)
    {
        this.spinner1 = spinner1;
    }
    public String getSpinner2()
    {
        return spinner2;
    }
    public void setSpinner2(String spinner2)
    {
        this.spinner2 = spinner2;
    }
    public String getSpinner10()
    {
        return spinner10;
    }
    public void setSpinner10(String spinner10)
    {
        this.spinner10 = spinner10;
    }
}

将其放在一项活动中:

SpinnersData data = new SpinnersData();
data.setSpinner1(spinner1.getSelectedItem().toString());
data.setSpinner2(spinner2.getSelectedItem().toString());
....
yourIntent.putExtra("someKey", data);

并在onCreate()中加入另一个活动:

SpinnersData data = (SpinnersData) getIntent().getExtras().getSerializable("someKey");

现在,您可以使用此对象在此处显示信息。

暂无
暂无

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

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