在onClickListener中的Activities之间传递数据

时间:2012-09-17 23:10:19

标签: java android eclipse sdk

我想获取一个字符串并通过onClickListener方法将其发送到其他活动,我已经将代码放在另一个活动中,它将被捕获,我通过这样做得到它:
示例:String Culo = lblMensaje.getText().toString;

通过这种方式,我可以获取文本并将其发送到另一个活动,但它并不像发送原始字符串那样高效。发送它是否可行?

final String sexos[] =
                new String[] {"00311712 Biología I","Mar-Jue 7:00am Prof.Briceño","Elem3","Elem4","Elem5"};

      final String[] datos =
                 new String[]{"0031711 Lab Biologia","Lun-Mar 9:30am prof. Marcarian","Elem3","Elem4","Elem5"};



        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.pipe);

            final TextView lblMensaje = (TextView)findViewById(R.id.LblMensaje);
            final Spinner cmbOpciones = (Spinner)findViewById(R.id.CmbOpciones);

            final String[] datos =
                    new String[]{"0031711 Lab Biologia","Lun-Mar 9:30am prof. Marcarian","Elem3","Elem4","Elem5"};


            ArrayAdapter<String> pipe =
                new ArrayAdapter<String>(this,
                    android.R.layout.simple_spinner_item, datos);


            pipe.setDropDownViewResource(
              R.layout.multiline_spinner_dropdown_item);



            cmbOpciones.setAdapter(pipe);

            cmbOpciones.setOnItemSelectedListener(
             new AdapterView.OnItemSelectedListener() {
                    public void onItemSelected(AdapterView<?> parent,
                        android.view.View v, int position, long id) {
                            lblMensaje.setText("Seleccionado: " + datos[position]);



                    }

                    public void onNothingSelected(AdapterView<?> parent) {
                        lblMensaje.setText("");
                    }

            });


            final TextView lblMensaje1 = (TextView)findViewById(R.id.LblMensaje1);
            final Spinner cmbOpciones1 = (Spinner)findViewById(R.id.CmbOpciones1);

            final String sexos[] =
               new String[] {"00311712 Biología I","Mar-Jue 7:00am Prof.Briceño","Elem3","Elem4","Elem5"};

         ArrayAdapter<String> adaptador1 =
            new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, sexos);



        adaptador1.setDropDownViewResource(
                android.R.layout.simple_spinner_dropdown_item);



        cmbOpciones1.setAdapter(adaptador1);

        cmbOpciones1.setOnItemSelectedListener(
         new AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> parent,
                    android.view.View v, final int position, long id) {          
                        lblMensaje1.setText(sexos[position]);




                }

                public void onNothingSelected(AdapterView<?> parent) {
                    lblMensaje1.setText("");
                }


        });
        Button BotonPasar1;
        BotonPasar1 = (Button)findViewById(R.id.VB1);
         BotonPasar1.setOnClickListener(new View.OnClickListener(){

         public void onClick(View v) {
            // TODO Auto-generated method stub


            String Culo;

       Culo = datos[position];
            String Culoq;
            Culoq = sexos[position];



            SharedPreferences mypreferences = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = mypreferences.edit();
            editor.putString("Culo",Culo);
            editor.commit();



               SharedPreferences mypreferences1 = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
              SharedPreferences.Editor editor1 = mypreferences1.edit();
            editor1.putString("Culoq", Culoq);
            editor1.commit();

                  String Culo1 = String.valueOf(Culoq + 1);

            SharedPreferences mypreferences2 = getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor2 = mypreferences2.edit();
            editor2.putString("Culo1",Culo1);
            editor2.commit();

         }

        });
         Button BotonPasar2;
         BotonPasar2 = (Button)findViewById(R.id.VB2);
          BotonPasar2.setOnClickListener(new View.OnClickListener(){

          public void onClick(View v) {
             // TODO Auto-generated method stub
           Intent pasarahorario = new Intent("com.reversiblelabs.unisvenecas.udobeta.HORARIO");                          
          startActivity(pasarahorario);

          }

         });


        }

    }

2 个答案:

答案 0 :(得分:0)

通过使用意图,您可以使用putextra方法并在其他类中捕获它吗?

在onClick方法中你说:

Intent pasarahorario = new Intent("com.reversiblelabs.unisvenecas.udobeta.HORARIO");                          
startActivity(pasarahorario);

只需添加

pasarahorario.putExtra("title", lblMensaje.getText().toString);

并在您调用的其他活动中:

String text = getIntent().getExtras().get("title").toString();

答案 1 :(得分:0)

这可能有助于你

像SharedPreferences一样 在你的第一个活动A

           Intent myintent= new Intent(FirstActivity.this,SecondActivity.class);
            SharedPreferences spref = this.getSharedPreferences("mynotifyid", MODE_WORLD_WRITEABLE);
            SharedPreferences.Editor spreedit = spref.edit();
            spreedit.putString("Name1", str1.toString());              
            spreedit.commit();
            startActivity(myintent);

在你的第二个ActivityB中

        SharedPreferences spref = context.getSharedPreferences("mynotifyid", Context.MODE_WORLD_WRITEABLE);
        String str1 = spref.getString("Name1","");

用于保存对象使用SharedPreferences