2011-12-22 41 views
1

私は文字列をインテントセクションに入れようとしていますので、電子メールを送信するアプリケーションを取得できます。私は私の人生のためにこれを行う方法を理解することはできません。注:私はjava/androidプログラミングの初心者です。私はこれが、ユーザーが送信したいものを選択するオプションを引き上げることを知っています。私は本当にアプリを電子メールを送信し、彼らに確認を与えなければならないが、それが可能かどうかわからない。ここでインテントに文字列を入力しようとしています

はここ

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/welcome" /> 

    <EditText 
     android:id="@+id/EditTextName" 
     android:layout_height="wrap_content" 
     android:hint="@string/name" 
     android:inputType="textPersonName" 
     android:layout_width="fill_parent"> 
    </EditText> 

    <EditText 
     android:id="@+id/EditTextEmail" 
     android:layout_height="wrap_content" 
     android:hint="@string/email" 
     android:inputType="textEmailAddress" 
     android:layout_width="fill_parent"> 
    </EditText> 

    <Spinner 
     android:id="@+id/SpinnerStatus" 
     android:layout_height="wrap_content" 
     android:prompt="@string/status" 
     android:layout_width="fill_parent" 
     android:entries="@array/statuslist"> 
    </Spinner> 

    <EditText 
     android:id="@+id/EditTextChangeBody" 
     android:layout_height="wrap_content" 
     android:hint="@string/changebody" 
     android:inputType="textMultiLine" 
     android:lines="5" 
     android:layout_width="fill_parent"> 
    </EditText> 

    <Button 
     android:id="@+id/ButtonSendChange" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:onClick="sendChange" 
     android:text="@string/changebutton"> 
    </Button> 

</LinearLayout> 

は、あなたが取得するactivity

ようcontextまたはそのサブクラスからgetString()にアクセスすることができ、私のMadisonStudios.java

package com.madisonstudios.supportapp; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Spinner; 

public class MadisonStudios extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    public void sendChange(View button) { 
     final EditText nameField = (EditText) findViewById(R.id.EditTextName); 
     String name = nameField.getText().toString(); 

     final EditText emailField = (EditText) findViewById(R.id.EditTextEmail); 
     String email = emailField.getText().toString(); 

     final EditText feedbackField = (EditText) findViewById(R.id.EditTextChangeBody); 
     String changes = feedbackField.getText().toString(); 

     final Spinner feedbackSpinner = (Spinner) findViewById(R.id.SpinnerStatus); 
     String status = feedbackSpinner.getSelectedItem().toString(); 

     Intent it = new Intent(Intent.ACTION_SEND); 
     String[] tos = {getString(R.string.email)}; 
     it.putExtra(Intent.EXTRA_EMAIL, tos); 
     it.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.emailSubject)); 
     it.setType("text/plain"); 
     startActivity(it); 
    } 
} 
+0

を使用して電子メールを送信することができますがエラーがありますか? – jagsler

+0

具体的に具体的に具体的に実装してください。上記のあなたの説明からは明らかではありません。 – Sujit

+0

いいえ、しかし、私は文字列 'String email = emailField.getText()。toString();'をString [] tos = {getString(R.string.email)};に定義しようとしています。コード行は私が問題を抱えている場所です。私はその文字列をインテントに入れる方法を知らない。 – BrettAdamsGA

答えて

2

である私のmain.xmlですあなたが以下を行う必要がある文字列

activity.getString(R.string.xyz)

次のコードのように別のアクティビティに文字列を渡すことができます。

final Intent activityIntent = new Intent(
       activity.getApplicationContext(), CurrentActivity.class); 
     activityIntent .putExtra("ID", 
       item.ID); 
     activityIntent .putExtra("NAME", 
       item.name); 
     activity.startActivity(activityIntent); 

あなたは以下のコード

public static void sendEmail(final Activity activity,final String email) { 

    /* Create the Intent */ 
    final Intent emailIntent = new Intent(
      android.content.Intent.ACTION_SEND); 

    /* Fill it with Data */ 
    emailIntent.setType("plain/text"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, 
      new String[] {email }); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, 
      "Feedback"); 

    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, ""); 
    /* Send it off to the Activity-Chooser */ 
    activity.startActivity(Intent.createChooser(emailIntent, 
      "Send feedback")); 
} 
関連する問題