Я новичок в android studio и в настоящее время работаю над приложением, в котором у вас есть listview и ArrayAdapter , содержащие элементы. Вы можете создавать новые элементы и удалять их. Это моя MainActivity :
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val listView = main_toDoList.findViewById<ListView>(R.id.main_toDoList)
listView.adapter = ArrayAdapter<ToDo>(
this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
toDoRepository.getAllToDos()
)
listView.setOnItemClickListener { parent, view, position, id ->
val item = listView.getItemAtPosition(position)
val itemId = listView.adapter.getItem(position) as ToDo
val todo = toDoRepository.getToDoById(itemId.id)
Toast.makeText(applicationContext, "Clicked on $item", Toast.LENGTH_LONG).show()
// Start another activity
if (todo != null) {
val intent = Intent(this, ViewToDoActivity::class.java)
intent.putExtra(ViewToDoActivity.EXTRA_TODO_ID, todo.id)
startActivity(intent)
} else {
Toast.makeText(applicationContext, "Error", Toast.LENGTH_LONG).show()
}
}
createButton.setOnClickListener {
createButton.setBackgroundColor(Color.BLACK)
val intent = Intent(this, CreateToDoActivity::class.java)
startActivity(intent)
}
}
override fun onStart() {
super.onStart()
Toast.makeText(applicationContext, "Returning from activity", Toast.LENGTH_LONG).show()
}
}
Когда я создал новый элемент и нажал кнопку "Назад", я снова приду к MainActivity . Теперь я хочу перезагрузить предметы. Я знаю, что должен использовать мой ArrayAdapter для вызова notifyDataChanged в методе onStart . У меня вопрос, как мне получить мой ArrayAdapter в методе onStart ?