Я пробовал создать новый экземпляр Activity, но это не кажется правильным и кажется, что это наносит больше вреда, чем пользы, - и также не работает, так что да. При этом у меня есть метод для заполнения ListView в одном действии с помощью кнопки, которая должна добавить что-то в этот список на другой. Я пытаюсь выяснить, как я могу вызвать метод из другой Activity. Я попытался применить static, но некоторые из кода в методах говорят, что на него нельзя ссылаться из статического контекста.Как я могу вызвать метод для другого действия?
Вот код, который я пытаюсь вызвать из другого метода:
CharacterDatabaseAdapter charDB;
public void populateListView() {
Cursor cursor = charDB.getAllRows();
String[] fromFieldNames = new String[] {CharacterDatabaseAdapter.CHARACTER_NAME,
CharacterDatabaseAdapter.CHARACTER_CLASS,
CharacterDatabaseAdapter.CHARACTER_LEVEL};
int[] toViewIDs = new int[] {R.id.row_name, R.id.row_class, R.id.row_lvl};
SimpleCursorAdapter cursorAdapter;
cursorAdapter = new SimpleCursorAdapter(getBaseContext(), R.layout.character_overview_list_display, cursor, fromFieldNames, toViewIDs, 0);
ListView charList = (ListView) findViewById(R.id.charListView);
charList.setAdapter(cursorAdapter);
}
Вам нужно больше узнать о жизненном цикле деятельности и деятельности. Активность, которая не видна, недоступна. Просто как тот. Если вы хотите добавить данные в список, который будет отображаться в другом действии, вам необходимо сохранить эти данные * отдельно * от действий и использовать эту активность, чтобы просто делать то, что они предназначены для: отображения данных. – 323go
Я не уверен, что то, что я делаю, это именно то, что вы имеете в виду, но я думаю, что я это делаю. У меня есть отдельный класс с именем CharacterDatabaseAdapter, который делает тяжелый подъем - настраивает базу данных и делает все необходимое для ее поддержания. Следовательно, почему я использую CharacterDatabaseAdapter в верхней части ссылочного кода. – Vigilant
Если вы это делаете, то ваш вопрос не нужно спрашивать. – 323go