2016-07-14 7 views
1

私はちょうどアンドロイドスタジオでコーディングを学び始めました..... と私は解決したいこの小さな問題があります! 私は、スピナーとeditTextからテキストを取得し、それをメールの本文に入れたいと思っています! 私はeditTextのテキストを取得してメールで取得する方法を学びました。私はちょうどスピナーのテキストを追加したいだけですが、私は実際にはどのように知っていません。 は、ここに私のxmlです:Spinner's textをメールで送信

<?xml version="1.0" encoding="utf-8"?> 
 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    xmlns:tools="http://schemas.android.com/tools" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" 
 
    android:paddingBottom="@dimen/activity_vertical_margin" 
 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
 
    android:paddingRight="@dimen/activity_horizontal_margin" 
 
    android:paddingTop="@dimen/activity_vertical_margin" 
 
    tools:context="com.virtusplus.sofronis_systems.Contactform"> 
 

 

 
    <Spinner 
 
     android:id="@+id/static_spinner" 
 
     android:layout_width="match_parent" 
 
     android:layout_height="wrap_content" 
 
     android:layout_below="@+id/textView6" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" 
 
     android:backgroundTint="#dce1e3" 
 
     android:background="#dce1e3" 
 
     android:clickable="false" 
 
     android:textAlignment="gravity" 
 
     android:popupBackground="#dce1e3" /> 
 

 
    <Spinner 
 
     android:id="@+id/dynamic_spinner" 
 
     android:layout_width="match_parent" 
 
     android:layout_height="wrap_content" 
 
     android:background="#dce1e3" 
 
     android:popupBackground="#dce1e3" 
 
     android:textAlignment="gravity" 
 
     android:visibility="visible" 
 
     android:layout_below="@+id/textView7" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textAppearance="?android:attr/textAppearanceLarge" 
 
     android:text="Επιλέξτε προϊόν:" 
 
     android:id="@+id/textView6" 
 
     android:layout_alignParentTop="true" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textAppearance="?android:attr/textAppearanceLarge" 
 
     android:text="Ποσότητα:" 
 
     android:id="@+id/textView7" 
 
     android:layout_below="@+id/static_spinner" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" 
 
     android:layout_gravity="center" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textAppearance="?android:attr/textAppearanceLarge" 
 
     android:text="Ονοματεπώνυμο:" 
 
     android:id="@+id/textView8" 
 
     android:layout_below="@+id/dynamic_spinner" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" 
 
     android:layout_gravity="center" /> 
 

 
    <EditText 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:inputType="textPersonName" 
 
     android:ems="10" 
 
     android:id="@+id/subject" 
 
     android:layout_below="@+id/textView8" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" 
 
     android:layout_gravity="center" /> 
 

 
    <TextView 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:textAppearance="?android:attr/textAppearanceLarge" 
 
     android:text="Σχόλια:" 
 
     android:id="@+id/textView10" 
 
     android:layout_gravity="center" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" 
 
     android:layout_below="@+id/subject" /> 
 

 
    <EditText 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:inputType="textMultiLine" 
 
     android:ems="10" 
 
     android:id="@+id/body" 
 
     android:layout_below="@+id/textView10" 
 
     android:layout_alignParentLeft="true" 
 
     android:layout_alignParentStart="true" 
 
     android:layout_gravity="center" /> 
 

 
    <Button 
 
     android:layout_width="wrap_content" 
 
     android:layout_height="wrap_content" 
 
     android:text="SEND" 
 
     android:id="@+id/sendEmail" 
 
     android:background="#0e89cc" 
 
     android:textColor="#ffffff" 
 
     android:layout_alignParentBottom="true" 
 
     android:layout_centerHorizontal="true" /> 
 

 
</RelativeLayout>

をそして、ここに私のJavaClassです:事前に

package com.virtusplus.sofronis_systems; 
 

 
import android.support.v7.app.AppCompatActivity; 
 
import android.os.Bundle; 
 
import android.app.Activity; 
 
import android.os.Bundle; 
 
import android.util.Log; 
 
import android.view.View; 
 
import android.widget.AdapterView; 
 
import android.widget.ArrayAdapter; 
 
import android.widget.Spinner; 
 
import android.widget.AdapterView.OnItemSelectedListener; 
 
import android.net.Uri; 
 
import android.os.Bundle; 
 
import android.app.Activity; 
 
import android.content.Intent; 
 
import android.view.View; 
 
import android.widget.Button; 
 
import android.widget.EditText; 
 
import android.widget.Toast; 
 

 
public class Contactform extends AppCompatActivity { 
 

 

 
    private EditText subject; 
 
    private EditText body; 
 

 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.activity_contactform); 
 

 
     Spinner staticSpinner = (Spinner) findViewById(R.id.static_spinner); 
 

 
     // Create an ArrayAdapter using the string array and a default spinner 
 
     ArrayAdapter<CharSequence> staticAdapter = ArrayAdapter 
 
       .createFromResource(this, R.array.brew_array, 
 
         android.R.layout.simple_spinner_item); 
 

 
     // Specify the layout to use when the list of choices appears 
 
     staticAdapter 
 
       .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
 

 
     // Apply the adapter to the spinner 
 
     staticSpinner.setAdapter(staticAdapter); 
 

 
     Spinner dynamicSpinner = (Spinner) findViewById(R.id.dynamic_spinner); 
 

 
     String[] items = new String[]{"1", "2", "3", "4", "5"}; 
 

 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
 
       android.R.layout.simple_spinner_item, items); 
 

 
     dynamicSpinner.setAdapter(adapter); 
 

 
     dynamicSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
 
      @Override 
 
      public void onItemSelected(AdapterView<?> parent, View view, 
 
             int position, long id) { 
 
       Log.v("item", (String) parent.getItemAtPosition(position)); 
 
      } 
 

 
      @Override 
 
      public void onNothingSelected(AdapterView<?> parent) { 
 
       // TODO Auto-generated method stub 
 
      } 
 
     }); 
 
     subject = (EditText) findViewById(R.id.subject); 
 
     body = (EditText) findViewById(R.id.body); 
 

 
     Button sendBtn = (Button) findViewById(R.id.sendEmail); 
 
     sendBtn.setOnClickListener(new View.OnClickListener() { 
 
      public void onClick(View view) { 
 
       sendEmail(); 
 
       // after sending the email, clear the fields 
 
       subject.setText(""); 
 
       body.setText(""); 
 
      } 
 
     }); 
 
     String message = staticSpinner.getSelectedItem() +"and"+ dynamicSpinner.getSelectedItem() + body.getText().toString(); 
 

 
    } 
 

 
    protected void sendEmail() { 
 

 

 
     Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:")); 
 
     // prompts email clients only 
 
     email.setType("message/rfc822"); 
 
     String[] to={"[email protected]"}; 
 
     email.putExtra(Intent.EXTRA_EMAIL, to); 
 
     email.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString()); 
 
     email.putExtra(Intent.EXTRA_TEXT, body.getText().toString()); 
 

 
     try { 
 
      // the user can choose the email client 
 
      startActivity(Intent.createChooser(email, "Choose an email client")); 
 

 
     } catch (android.content.ActivityNotFoundException ex) { 
 
      Toast.makeText(Contactform.this, "No email client installed.", 
 
        Toast.LENGTH_LONG).show(); 
 
     } 
 
    } 
 
}

のthnx!

+0

spinner.getSelectedItem()。toString();と言って現在選択されているSpinner値を取得します。 – Eenvincible

答えて

1

これでは、コールのtoString()

String message = staticSpinner.getSelectedItem().toString() +"and"+ dynamicSpinner.getSelectedItem().toString() + body.getText().toString(); 
1

あなたは、このように選択したテキストを取得することができます欠落していたことも試してみてください。

String text = spinner.getSelectedItem().toString(); 

をメールの本文に追加します。

email.putExtra(Intent.EXTRA_TEXT, body.getText().toString() + text); 
+0

でもメールの本文にはどこに置くべきですか? – loulost

+0

私の更新された回答を確認してください – chengsam

+0

まだ動作していません – loulost