Сохранить данные в электронное письмо: - PullRequest
0 голосов
/ 17 мая 2011

Сохранение данных из редактируемых текстов, текстовых представлений, выборок счетчиков и флажков из нескольких действий в электронное письмо:

Я уже использую:

Intent EmailSend = new Intent(android.content.Intent.ACTION_SEND);
    EmailSend.setType("plain/text");
    EmailSend.putExtra(android.content.Intent.EXTRA_TEXT,
      "Pretext"+edittext.getText().toString());

строка ввода не работает для элементов, не перечисленных в .java Когда я использую последнюю строку в этом я получаю сообщение об ошибке -edittext не может быть решен-

и как получить данные из флажка и счетчика

У меня будет около 80 элементов для компиляции на это письмо по 8 мероприятиям

1 Ответ

2 голосов
/ 17 мая 2011

Я написал фрагмент, чтобы немного его автоматизировать:

ViewGroup     root = (ViewGroup) ((ViewGroup) findViewById(android.R.id.content)).getChildAt(0);
StringBuilder str  = new StringBuilder();

public void extractText(ViewGroup root, StringBuilder str){
    int count = root.getChildCount();
    for(int i = 0; i < count; i++) {
        View v = root.getChildAt(i);

        if(v instanceof Spinner) {
            str.append(i).append(" Spinner: ").append(((Spinner) v).getSelectedItem());
        } else if(v instanceof TextView) {
            str.append(i).append(" TextView: ").append(((TextView) v).getText());
        } else if(v instanceof CheckBox) {
            str.append(i).append(" Checkbox: ").append(((CheckBox) v).isChecked());
        }else if(v instanceof ViewGroup){
            extractText((ViewGroup)v, str);
        }
    }
}
...