簡體   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