2012-09-17 18 views
0

我想獲取一個字符串,並通過onClickListener方法將其發送給其他活動,我已經在其他活動中獲得了代碼,它將被捕獲,我通過這樣做得到它的工作:
例如:String Culo = lblMensaje.getText().toString;onClickListener中的活動之間傳遞數據

這樣我就可以獲得文本並將其發送到另一個活動,但它不像發送原始字符串那樣高效。它可以發送它嗎?

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

      } 

     }); 


     } 

    } 
+0

的getText已經返回一個字符串世界上沒有理由調用toString就可以了。 –

回答

0

這或許可以幫助你

l IKE SharedPreferences 在你第一次ActivityA

  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

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(); 
+0

無法在下面評論,所以我在這裏評論: 您需要指定您想知道的內容,因爲現在看起來您只是想在活動之間發送信息。 –

+0

我要通過使用共享偏好 – Marcosdro

+0

哦發送DATOS [位置]直接到另一個活動,在這種情況下: 主要活動: SharedPreferences設置= getSharedPreferences(PREFS_NAME,0); SharedPreferences.Editor editor = settings.edit(); editor.putString(「datos」,lblMensaje.getText()。toString); //或者另一種獲取字符串的方式(可能只是datos [position]) editor.commit(); 然後在活動2中,您可以撥打 SharedPreferences設置= getSharedPreferences(PREFS_NAME,0); String Datos [] = settings.getString(「datos」,「」); 也請記住爲PREFS_NAME使用相同的名稱 \t public static final String PREFS_NAME =「MyPrefsFile」;例如 –