通过微调信息,另一个活动 [英] passing spinner information to another activity

查看:108
本文介绍了通过微调信息,另一个活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有4个纱厂 1 按钮活动A 。我使用的按钮来打开另一个活动B 。现在我想以显示选定纱厂信息活动B 。我知道如何从的EditText 传递数据,但我不跟纱厂知道了。

请帮我领取纱厂从另一个活动信息

 公共类MainActivity扩展ActionBarActivity {私人按钮BTN;
私人微调SPIN1;
私人微调spin2;
私人微调Spin3的;
私人微调spin4;
公共类SpinnersData实现Serializable
{
    私人字符串spinner1;
    私人字符串spinner2;
    私人字符串spinner3;
    私人字符串spinner4;
     公共字符串getSpinner1()
    {
        返回spinner1;
    }
    公共无效setSpinner1(字符串spinner1)
    {
        this.spinner1 = spinner1;
    }
    公共字符串getSpinner2()
    {
        返回spinner2;
    }
    公共无效setSpinner2(字符串spinner2)
    {
        this.spinner2 = spinner2;
    }
    公共字符串getSpinner3()
    {
        返回spinner3;
    }
    公共无效setSpinner3(字符串spinner3)
    {
        this.spinner3 = spinner3;
    }
    公共字符串getSpinner4()
    {
        返回spinner4;
    }
    公共无效setSpinner4(字符串spinner10)
    {
        this.spinner4 = spinner4;
    }
}@覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);    BTN =(按钮)findViewById(R.id.button1);
    SPIN1 =(微调)findViewById(R.id.spinner1);
    最终字符串ARR1 [] = {无,1 *£5.49,2 * 2.00,3 * 4.00};
    ArrayAdapter<串GT;适配器=新ArrayAdapter<串GT;(MainActivity.this,android.R.layout.simple_dropdown_item_1line,ARR1);
    spin1.setAdapter(适配器);
    spin1.setOnItemSelectedListener(新OnItemSelectedListener(){        @覆盖
        公共无效onItemSelected(适配器视图<>为arg0,ARG1查看,
                INT ARG2,长ARG3){
            // TODO自动生成方法存根
            Toast.makeText(MainActivity.this,所选择的项目+ ARR1 [ARG2],Toast.LENGTH_SHORT).show();        }        @覆盖
公共无效onNothingSelected(适配器视图<>为arg0){
             // TODO自动生成方法存根        }
    });
    SPIN1 =(微调)findViewById(R.id.spinner1);
    最终字符串ARR2 [] = {无,1 *£5.49,2 * 2.00,3 * 4.00};
    ArrayAdapter<串GT;适配器1 =新ArrayAdapter<串GT;(MainActivity.this,android.R.layout.simple_dropdown_item_1line,ARR2);
    spin2.setAdapter(适配器);
    spin2.setOnItemSelectedListener(新OnItemSelectedListener(){        @覆盖
        公共无效onItemSelected(适配器视图<>为arg0,ARG1查看,
                INT ARG2,长ARG3){
            // TODO自动生成方法存根
            Toast.makeText(MainActivity.this,所选择的项目+ ARR2 [ARG2],Toast.LENGTH_SHORT).show();        }        @覆盖
公共无效onNothingSelected(适配器视图<>为arg0){
             // TODO自动生成方法存根        }
    });
    Spin3的=(微调)findViewById(R.id.spinner1);
    最终字符串ARR3 [] = {无,1 *£5.49,2 * 2.00,3 * 4.00};
    ArrayAdapter<串GT;适配器3 =新ArrayAdapter<串GT;(MainActivity.this,android.R.layout.simple_dropdown_item_1line,ARR3);
    spin3.setAdapter(适配器);
    spin3.setOnItemSelectedListener(新OnItemSelectedListener(){        @覆盖
        公共无效onItemSelected(适配器视图<>为arg0,ARG1查看,
                INT ARG2,长ARG3){
            // TODO自动生成方法存根
            Toast.makeText(MainActivity.this,所选择的项目+ ARR3 [ARG2],Toast.LENGTH_SHORT).show();        }        @覆盖
公共无效onNothingSelected(适配器视图<>为arg0){
             // TODO自动生成方法存根        }
    });
    spin4 =(微调)findViewById(R.id.spinner1);
    最终字符串arr4 [] = {无,1 *£5.49,2 * 2.00,3 * 4.00};
    ArrayAdapter<串GT; adapter4 =新ArrayAdapter<串GT;(MainActivity.this,android.R.layout.simple_dropdown_item_1line,arr4);
    spin4.setAdapter(适配器);
    spin4.setOnItemSelectedListener(新OnItemSelectedListener(){        @覆盖
        公共无效onItemSelected(适配器视图<>为arg0,ARG1查看,
                INT ARG2,长ARG3){
            // TODO自动生成方法存根
            Toast.makeText(MainActivity.this,所选择的项目+ arr4 [ARG2],Toast.LENGTH_SHORT).show();        }        @覆盖
公共无效onNothingSelected(适配器视图<>为arg0){
             // TODO自动生成方法存根        }
    });    BTN =(按钮)findViewById(R.id.button1);
    btn.setOnClickListener(新View.OnClickListener(){        @覆盖
        公共无效的onClick(查看为arg0){
            // TODO自动生成方法存根
            意图INTE =新意图(MainActivity.this,Finalorder.class);
            SpinnersData数据=新SpinnersData();
            data.setSpinner1(spin1.getSelectedItem()的toString());
            data.setSpinner2(spin2.getSelectedItem()的toString());
            data.setSpinner3(spin3.getSelectedItem()的toString());
            data.setSpinner4(spin4.getSelectedItem()的toString());            inte.putExtra(SPINNERVAL数据);
            startActivity(INTE);        }
    });
}}

下面是第二个活动我试图获得纱厂信息。我不知道我写的code错误。请

活动2

 公共类Finalorder扩展MainActivity {捆绑包;
TextView的TXT;
按钮BTN;保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.last);    包= getIntent()getExtras()。
    。SpinnersData数据=(SpinnersData)getIntent()getExtras()getSerializable(SPINNERVAL);        }}


解决方案

您可以实现扩展ArrayAdapter你的微调适配器并从适配器,比如检索数据。

 公共无效onItemSelected(适配器视图<>母公司,观景,
            INT POS,长I​​D){
              字符串的obj = myAdapter.getItem(POS)
                        data.setSpinner1(obj.get());    }

宣布适配器

 的ArrayList<串GT;名单=新的ArrayList<串GT;();
           list.add(1.Position ONE);
           list.add(2.Position TWO);
           list.add(3.Position三);
私人MyAdapter myAdapter =新MyAdapter(getActivity()
                                 android.R.layout.simple_spinner_item,清​​单);
          spinner1.setAdapter(myAdapter);

I have 4 Spinners and 1 Button in Activity A. I am using that Button to open another Activity B. Now I want to show the selected Spinners information in Activity B. I know how to pass data from EditText but I don't know with Spinners.

Please help me to receive Spinners information from another Activity

public class MainActivity extends ActionBarActivity {

private Button btn;
private Spinner spin1;
private Spinner spin2;
private Spinner spin3;
private Spinner spin4;


public class SpinnersData implements Serializable
{
    private String spinner1;
    private String spinner2;
    private String spinner3;
    private String spinner4;


     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 getSpinner3()
    {
        return spinner3;
    }
    public void setSpinner3(String spinner3)
    {
        this.spinner3 = spinner3;
    }
    public String getSpinner4()
    {
        return spinner4;
    }
    public void setSpinner4(String spinner10)
    {
        this.spinner4 = spinner4;
    }
}

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

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

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

        }

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

        }
    });
    spin1=(Spinner)findViewById(R.id.spinner1);
    final String arr2[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
    ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, arr2);
    spin2.setAdapter(adapter);
    spin2.setOnItemSelectedListener(new OnItemSelectedListener() {

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

        }

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

        }
    });
    spin3=(Spinner)findViewById(R.id.spinner1);
    final String arr3[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
    ArrayAdapter<String> adapter3 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, arr3);
    spin3.setAdapter(adapter);
    spin3.setOnItemSelectedListener(new OnItemSelectedListener() {

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

        }

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

        }
    });
    spin4=(Spinner)findViewById(R.id.spinner1);
    final String arr4[] = {"NONE"," 1*£5.49","2*2.00","3*4.00"};
    ArrayAdapter<String> adapter4 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line, arr4);
    spin4.setAdapter(adapter);
    spin4.setOnItemSelectedListener(new OnItemSelectedListener() {

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

        }

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

        }
    });

    btn= (Button)findViewById(R.id.button1);
    btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Intent inte = new Intent (MainActivity.this, Finalorder.class);
            SpinnersData data = new SpinnersData();
            data.setSpinner1(spin1.getSelectedItem().toString());
            data.setSpinner2(spin2.getSelectedItem().toString());
            data.setSpinner3(spin3.getSelectedItem().toString());
            data.setSpinner4(spin4.getSelectedItem().toString());

            inte.putExtra("SPINNERVAL", data);
            startActivity(inte);

        }
    });
}}

Here is the second Activity which I tried to receive Spinners information. I don't know where I wrote the code wrong. please

activity 2

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();
    SpinnersData data = (SpinnersData) getIntent().getExtras().getSerializable("SPINNERVAL");

        }}

解决方案

You can implement an Adapter that extends ArrayAdapter for your Spinner and retrieve data from that Adapter,eg.

     public void onItemSelected(AdapterView<?> parent, View view,
            int pos, long id) {
              String obj= myAdapter.getItem(pos);                  
                        data.setSpinner1(obj.get());

    }

declaring the adapter

 ArrayList<String> list = new ArrayList<String>();
           list.add("1.Position ONE");
           list.add("2.Position TWO");
           list.add("3.Position THREE");
private MyAdapter myAdapter=new  MyAdapter(getActivity(),
                                 android.R.layout.simple_spinner_item,list);
          spinner1.setAdapter(myAdapter);

这篇关于通过微调信息,另一个活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆