[英]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.