Как получить текст вместо ссылки android.content.res.Resourses$Theme@e87d8e

289
07 сентября 2021, 21:40

Я записываю данные из EditText в словарь, обрабатываю с помощью JSON и сохраняю в файл.

public class AddWord
{
    Dictionary dictionary = new Dictionary();
    public AddWord(String word, String translation, String themeStr, Context context)
    {
        dictionary.setArrayList(new Theme(themeStr, new WordAndTranslation(word, translation)));
        JSONHelper.exportToJSON(context, dictionary);
    }
}

Затем по нажатию кнопки TextView присваивается значение (название темы). Функция Test() срабатывает по кнопке BUTTON на скрине.

var dictionary: Dictionary = Dictionary()
fun Test(view: View)
{
    dictionary = JSONHelper.importFromJSON(this)
    var text = dictionary.getArrayList().get(0).getTheme()
    textView.text = text
}

Помогите разобраться почему вместо данных введенных через EditText, я получаю ссылку (word, translation - это названия EditText; theme - AutoCompleteTextView).

fun AddWord(view: View)
{
    val addWord: AddWord = AddWord(word.text.toString(), 
        translation.text.toString(), theme.toString(), this)
    var mainIntent = Intent(this, MainActivity::class.java)
    startActivity(mainIntent)
}

Но если я просто присвою значения для word, tranlation, theme, то все работает

fun Training(view: View)
{
    theme.setTheme("test")
    theme.setArrayList(WordAndTranslation("test1", "test2"))
    dictionary.setArrayList(theme)
    JSONHelper.exportToJSON(this, dictionary)
    var trainingIntent = Intent(this, TrainingActivity::class.java)
    startActivity(trainingIntent)
}

Вот еще сами классы

public class Dictionary
{
    private ArrayList<Theme> arrayList = new ArrayList<>();
    public void setArrayList(Theme theme)
    {
        arrayList = getArrayList();
        this.arrayList.add(theme);
    }
    public ArrayList<Theme> getArrayList()
    {
        return arrayList;
    }
}
public class Theme
{
    private String Theme;
    private ArrayList<WordAndTranslation> arrayList = new ArrayList<>();
    public Theme() {}
    public Theme(String theme, WordAndTranslation wordAndTranslation)
    {
        setTheme(theme);
        setArrayList(wordAndTranslation);
    }
    public void setTheme(String theme)
    {
        Theme = theme;
    }
    public String getTheme()
    {
        return Theme;
    }
    public void setArrayList(WordAndTranslation wordAndTranslation)
    {
        this.arrayList.add(wordAndTranslation);
    }
    public ArrayList<WordAndTranslation> getArrayList()
    {
        return arrayList;
    }
}
public class WordAndTranslation
{
    private String Word;
    private String Translation;
    public WordAndTranslation(String word, String translation)
    {
        Word = word;
        Translation = translation;
    }
    public void setWord(String word)
    {
        Word = word;
    }
    public String getWord()
    {
        return Word;
    }
    public void setTranslation(String translation)
    {
        Translation = translation;
    }
    public String getTranslation()
    {
        return Translation;
    }
}

]2]3

Заранее спасибо!

READ ALSO
Джава. Метод для выделения группы объектов по признаку

Джава. Метод для выделения группы объектов по признаку

Я чайникЕсть массив объектов, как выделить из массива объекты, которые имеют общий признак (поле)? (например, человек - объект имеющий поля...

107
Добавление объекта ImageIcon в документ Word

Добавление объекта ImageIcon в документ Word

Скажите, имеется ли техническая возможность вставить изображение ImageIcon в документ Word с помощью Apache Poi?

161
как сделать проверку на повторяющееся число из массива?

как сделать проверку на повторяющееся число из массива?

Есть функция, она выводит рандомное число из массиваКак сделать проверку на выводило ли это число раньше?

113
Настройка горячих клавиш WebStorm

Настройка горячих клавиш WebStorm

Не могу понять, но у меня не работает ctrl + C, если я нажимаю эту комбинацию то ничего не копируется, пропадает выделение, а самое противное, что...

156