2011-12-22 4 views
1

좋아요. 전자 메일을 보내도록 응용 프로그램을 가져올 수 있도록 문자열을 가져 와서 의도 부분에 넣으려고합니다. 나는이 일을하는 방법을 알아낼 수 없다. 참고 : 나는 java/android 프로그래밍이 처음이다. 나는 이것이 사용자가 그들이 보내고 싶은 것을 선택할 수있는 옵션을 모을 것이라는 것을 알고있다. 나는 앱이 이메일을 보내고 확인을 해줘야하지만, 가능하다면 알지 못한다. 여기 문자열을 의도로 가져 오려고 시도합니다.

를 얻기 위해, 여기 내 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 String = to getString (R.string.email);에'String email = emailField.getText(). toString();' 코드 줄은 내가 문제가있는 곳이다. 그 문자열을 의도에 넣는 법을 모르겠습니다. – BrettAdamsGA

답변

2

당신은 context 또는 activity 같은 서브 클래스에서 getString()에 액세스 할 수 있습니다 내 main.xml에

<?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.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")); 
} 
관련 문제