Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Сохраните данные в электронном письме:

Автор вопроса: SLYtigerОтветов: 1

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

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

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 действиям.

androidandroid-activityemailsave

Ответы

Ответ 1 · рейтинг 2 · pawelzieba

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

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);
        }
    }
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы