erhalten Kürzlich habe ich beschlossen, eine App in Android zu entwickeln. Ich habe dieses Forum und andere Tools online benutzt, um mir beizubringen, wie man eine einfache App entwickelt, die den Benutzer nach seinem Namen fragt und einige Fragen beantwortet. Mein Ziel ist es, dem Benutzer zu ermöglichen, die Antworten an jede E-Mail ihrer Wahl zu senden. Bisher habe ich in der Lage gewesen, dies zu erreichen:Die Zeichenfolge eines ausgewählten RadioButton in Android
Von: ********@gmail.com
An: ********@gmail.com
Betrifft: Umfrage Ergebnis für John Doe
Name: John Doe
Frage 1: true
Ende der Umfrage.
Mein Ziel ist es, in die E-Mail nicht den Zustand der Frage 1 (d. H. "True") aufzunehmen, sondern stattdessen die Antwort auf ihre Frage zu zeigen. Zum Beispiel, Frage 1: B. 26-35.
Ich habe online in den letzten paar Tagen gesucht, aber ich habe Probleme, einige Hilfe zu finden, da ich noch neu im Programmieren bin. Die nächste Sache, auf die ich stieß, war diese SO Question, aber es ist nicht das, wonach ich suche. Jede Hilfe oder Anleitung würde sehr geschätzt werden.
MainActivity.java
package com.example.android.sampleupdrs;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity
{
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)findViewById(R.id.textView1);
}
public void emailResult (View view)
{
EditText nameField = (EditText) findViewById(R.id.name_field);
String name = nameField.getText().toString();
RadioGroup radioQ1 = (RadioGroup) findViewById(R.id.radio_Q1);
final RadioButton checkedRadioQ1 = (RadioButton) radioQ1.findViewById(radioQ1.getCheckedRadioButtonId());
boolean isCheckedRadioQ1 = checkedRadioQ1.isChecked();
radioQ1.setOnCheckedChangeListener (new RadioGroup.OnCheckedChangeListener()
{
public void onCheckedChanged (RadioGroup group, int checkedQ1Id)
{
RadioButton checkedRadioButton = (RadioButton)group.findViewById(checkedQ1Id);
boolean isCheckedRadioQ1 = checkedRadioQ1.isChecked();
if (isCheckedRadioQ1)
{
tv.setText("Checked: " +checkedRadioButton.getText());
}
}
});
String resultsEmail = createEmailSummary(name, isCheckedRadioQ1);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("mailto:"));
intent.putExtra(Intent.EXTRA_SUBJECT, "Survery result for " + name);
intent.putExtra(Intent.EXTRA_TEXT, resultsEmail);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
private String createEmailSummary (String name, boolean isCheckedRadioQ1) {
String resultsEmail = "Name: " + name;
resultsEmail += "\nQuestion 1 " + isCheckedRadioQ1;
resultsEmail += "\nEnd of Survey";
return resultsEmail;
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin">
<EditText
android:id="@+id/name_field"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="Name"
android:inputType="textCapWords"/>
<TextView
android:text="@string/q1string"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:id="@+id/textView1"/>
<RadioGroup
android:id="@+id/radio_Q1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/q1b0_url"
android:text="@string/q1b0string"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_alignParentStart="true"
android:layout_marginBottom="15dp" />
<RadioButton
android:id="@+id/q1b1_url"
android:text="@string/q1b1string"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/q1b0_url"
android:layout_alignParentStart="true"
android:layout_marginBottom="15dp"
android:gravity="top" />
<RadioButton
android:id="@+id/q1b2_url"
android:text="@string/q1b2string"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/q1b1_url"
android:layout_alignParentStart="true"
android:layout_marginBottom="15dp"
android:gravity="top" />
<RadioButton
android:id="@+id/q1b3_url"
android:text="@string/q1b3string"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/q1b2_url"
android:layout_alignParentStart="true"
android:layout_marginBottom="15dp"
android:gravity="top" />
<RadioButton
android:id="@+id/q1b4_url"
android:text="@string/q1b4string"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/q1b3_url"
android:layout_marginBottom="30dp"
android:gravity="start" />
</RadioGroup>
<TextView
android:text="@string/q2string"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:id="@+id/textView2"/>
<RadioGroup
<Button
android:text="Next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/nextQ1"
android:onClick="emailResult"
android:layout_weight="1"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_gravity="right" />
</LinearLayout>
</ScrollView>
strings.xml
<resources>
<string name="app_name">Survey</string>
<string name="q1string">1. Select age group</string>
<string name="q1b0string">A. 18-25</string>
<string name="q1b1string">B. 26-35</string>
<string name="q1b2string">C. 36-45</string>
<string name="q1b3string">D. 46-59</string>
<string name="q1b4string">E. 60+</string>
</resources>
Vielen Dank für Ihre Antwort. Ich habe alle Änderungen vorgenommen, die Sie vorgeschlagen haben, und jetzt in der E-Mail bekomme ich ein Leerzeichen nach Frage 1. Soll ich Text als String text = "" deklarieren; unter öffentliche Klasse MainActivity erweitert AppCompatActivity. – rl1987