1

提案ボックスを持つアプリを作成しています。ユーザーが編集テキストに情報を入力すると、その情報が取得され、文字列値に入れられます。次に、文字列が電子メールのテキストに挿入されます。ただし、電子メールが送信されると、テキストには編集テキストの値が含まれません。

これが私のコードです:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.suggestions);

        Spinner spinner = (Spinner) findViewById(R.id.emailArea);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter
                .createFromResource(this, R.array.email_array,
                        android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

        Button send = (Button) findViewById(R.id.emailSendButton);
        EditText ettext = (EditText) findViewById(R.id.etEmailText);
        EditText returnAddress = (EditText) findViewById(R.id.etReturnAddress);

        String text = ettext.getText().toString();
        String returnAddressText = returnAddress.getText().toString();

        emailText =
                "\n\nArea in the Guide: " + area
                + "\n\nSuggestion or Comment: " + text + 
                "\n\nReturn Address: "+ returnAddressText;

        send.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                Intent emailIntent = new Intent(
                        android.content.Intent.ACTION_SEND);

                emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
                        address);
                emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
                        "Suggestions/Comments: Black Ops 2");
                emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
                        emailText);
                emailIntent.setType("text/plain");

                startActivity(Intent.createChooser(emailIntent, "Send Mail"));
                finish();
            }

        });
    }

    private void showToast() {
        Toast.makeText(this, "Thank you. Your message has been sent.",
                Toast.LENGTH_SHORT).show();// TODO Auto-generated method stub

    }

    public class MyOnItemSelectedListener implements OnItemSelectedListener {

        public void onItemSelected(AdapterView<?> parent, View view, int pos,
                long id) {

            area = areas[pos];
        }

        public void onNothingSelected(AdapterView parent) {

        }
    }
}

ただし、何を入力しても、スピナーには常に空白のテキストと null が表示されます。助言がありますか?

4

1 に答える 1

0

EditText内の値を取得してonClickListener使用します。

EditText etText;
EditText returnAddress;
public void onCreate(Bundle savedInstanceState) {
    //....
    Button send = (Button) findViewById(R.id.emailSendButton);
    etText = (EditText) findViewById(R.id.etEmailText);
    returnAddress = (EditText) findViewById(R.id.etReturnAddress);
     send.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {

            String text = etText.getText().toString();
            String returnAddressText = returnAddress.getText().toString();

            emailText =
                "\n\nArea in the Guide: " + area
                + "\n\nSuggestion or Comment: " + text + 
                "\n\nReturn Address: "+ returnAddressText;

            Intent emailIntent = new Intent(
                    android.content.Intent.ACTION_SEND);

            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
                    address);
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
                    "Suggestions/Comments: Black Ops 2");
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
                    emailText);
            emailIntent.setType("text/plain");

            startActivity(Intent.createChooser(emailIntent, "Send Mail"));
            finish();
        }

    });
    //...
}
于 2012-06-02T18:14:07.283 に答える