繁体   English   中英

在onClickListener中的Activity之间传递数据

[英]Pass data between Activities in onClickListener

我想获取一个字符串,并通过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);

          }

         });


        }

    }

通过使用意图,您可以只使用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();

这可能对您有帮助

像您的第一个ActivityA中的SharedPreferences

           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);

在您的第二个活动B中

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

为了您的对象保存目的,请使用SharedPreferences

暂无
暂无

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

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