L'envoi de bouton radio de données à la prochaine activité
Je suis en train de permettre à l'utilisateur de saisir son Nom, et cliquez sur un des trois boutons radio, et cliquez sur un bouton de soumission. Et sur l'activité suivante, il affiche leur nom et le bouton radio ils ont choisi. J'ai réussi à être en mesure d'envoyer le nom, mais je ne suis pas sûr de savoir comment envoyer le radio bouton de sélection. Quelqu'un peut-il aider?
C'est ce que j'ai dans l'activité principale de mise en page .xml
<EditText
android:id="@+id/operatorName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:ems="10"
android:hint="@string/operator_name" />
<RadioGroup
android:id="@+id/radioShifts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="10dp" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio1"
android:checked="true"
android:onClick="onRadioButtonClicked" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio2"
android:onClick="onRadioButtonClicked" />
<RadioButton
android:id="@+id/radioButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio3"
android:onClick="onRadioButtonClicked" />
</RadioGroup>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:text="@string/button1"
android:onClick="onButton1" />
Et j'ai cela dans le main_activity .fichier java:
public final static String OP_NAME = "com.cyapps.downtimer.OPNAME";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onRadioButtonClicked(View view) {
//Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();
//Check which radio button was clicked
switch(view.getId()) {
case R.id.radioButton1:
if (checked)
break;
case R.id.radioButton2:
if (checked)
break;
case R.id.radioButton3:
if (checked)
break;
}
/* Intent intent = new Intent(this, WinderDTActivity.class);
EditText button = (EditText) findViewById(RadioGroup.getCheckedRadioButtonId());
String radioChosen = button.getText().toString();
intent.putExtra(RADIO_CHOSEN, radioChosen);*/
}
public void onButton1(View view) {
Intent intent = new Intent(this, WinderDTActivity.class);
EditText editText = (EditText) findViewById(R.id.operatorName);
String opName = editText.getText().toString();
intent.putExtra(OP_NAME, opName);
startActivity(intent);
}
Le code /* */est ce que je pense que je devrais faire.. Mais je ne suis pas sûr. L'aide de quelqu'un s'il vous plaît? Je vais vraiment l'apprécier..
OriginalL'auteur chakolatemilk | 2012-10-12
Vous devez vous connecter pour publier un commentaire.
EDIT : Pour recevoir les données dans l'activité suivante, utilisez
Bon, tant pis, je vois ce que j'avais fait de mal dans le code ci-dessus. mais maintenant je l'ai mis dans mon prochain activité, et il vient encore vierge. : (Intent intent = getIntent(); String nomop = intention.getStringExtra(MainActivity.OP_NAME); String str = intention.getStringExtra(MainActivity.RADIO_CHOSEN); TextView textView = new TextView(this); textView.setTextSize(30); textView.setText(nomop); textView.setText(str); setContentView(textView);`
Désolé pour la gêne occasionnée. J'ai mis à jour mon code. Il devrait maintenant fonctionner.
Il dit que la chaîne de message n'est pas utilisé. Et n'aurais-je pas laissé intention.putExtra(RADIO_CHOSEN, str); la manière dont il a été?
Oui, vous pouvez les laisser RADIO_CHOSEN être que c'était. Mais assurez-vous juste que c'est la même dans les deux activités.
OriginalL'auteur Swayam
- Utilisation
switch
pour obtenir le bouton Radio sélectionné.- Maintenant il suffit de faire la
startActivity(intent);
OriginalL'auteur Kumar Vivek Mitra