SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
-
Metilars
- Сообщения: 9
- Зарегистрирован: 09 май 2015, 20:09
- Откуда: Славянск
Сообщение
Metilars » 18 май 2015, 19:06
Добрый вечер, столкнулся с такой проблемой, при создании Activity заполняется данными в ListView, после в другом активити создается новая запись в БД, и если закрыть то активити
идет возврат на первое, где ListView с данными, но данные не обновляются то, заполнение идет в onCreate.
На андроид разрабатываю первый раз можно сказать, есть тут событие onShow или что то в этом роде? И как его реализовать? Или как другим способом обновить данные не закрывая активити?
Код onCreate в активити с ListView
Код: Выделить всё
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts);
db = LoginActivity.database.query("Contacts", null, null, null, null, null, "fio");
if (db.moveToFirst()) {
// определяем номера столбцов по имени в выборке
idColIndex = db.getColumnIndex("_id");
fioColIndex = db.getColumnIndex("fio");
phoneColIndex = db.getColumnIndex("phone");
}
final Intent Contact = new Intent(this, ContactActivity.class);
// создаем адаптер
fillData();
ContactAdapter = new ContactAdapter(this, ContactsItem);
// настраиваем список
ListView ContaсtsList = (ListView) findViewById(R.id.ContaсtsList);
ContaсtsList.setAdapter(ContactAdapter);
ContaсtsList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ContactItem p = ContactAdapter.getContactItem(position);
int ids = p.idcontact;
Contact.putExtra("id", ids+"");
startActivity(Contact);
}
});
}
-
doter.ua
- Сообщения: 1106
- Зарегистрирован: 23 ноя 2013, 16:08
- Откуда: Ukraine
Сообщение
doter.ua » 18 май 2015, 21:08
Metilars писал(а):Добрый вечер, столкнулся с такой проблемой, при создании Activity заполняется данными в ListView, после в другом активити создается новая запись в БД, и если закрыть то активити
идет возврат на первое, где ListView с данными, но данные не обновляются то, заполнение идет в onCreate.
На андроид разрабатываю первый раз можно сказать, есть тут событие onShow или что то в этом роде? И как его реализовать? Или как другим способом обновить данные не закрывая активити?
Код onCreate в активити с ListView
Код: Выделить всё
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts);
db = LoginActivity.database.query("Contacts", null, null, null, null, null, "fio");
if (db.moveToFirst()) {
// определяем номера столбцов по имени в выборке
idColIndex = db.getColumnIndex("_id");
fioColIndex = db.getColumnIndex("fio");
phoneColIndex = db.getColumnIndex("phone");
}
final Intent Contact = new Intent(this, ContactActivity.class);
// создаем адаптер
fillData();
ContactAdapter = new ContactAdapter(this, ContactsItem);
// настраиваем список
ListView ContaсtsList = (ListView) findViewById(R.id.ContaсtsList);
ContaсtsList.setAdapter(ContactAdapter);
ContaсtsList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ContactItem p = ContactAdapter.getContactItem(position);
int ids = p.idcontact;
Contact.putExtra("id", ids+"");
startActivity(Contact);
}
});
}
Есть onResume() - при показе ранее созданного активити, которое было скрыто по тем или иным причинам.
ALT + INSERT выбираешь Override и ищешь там этот метод (можно юзать поиск).
Если нужно при закрытии конкретного активити, то можно запускать его forResult и отлавливать закрытие, подробнее: гугл.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
Metilars
- Сообщения: 9
- Зарегистрирован: 09 май 2015, 20:09
- Откуда: Славянск
Сообщение
Metilars » 30 май 2015, 01:46
doter.ua писал(а):Metilars писал(а):Добрый вечер, столкнулся с такой проблемой, при создании Activity заполняется данными в ListView, после в другом активити создается новая запись в БД, и если закрыть то активити
идет возврат на первое, где ListView с данными, но данные не обновляются то, заполнение идет в onCreate.
На андроид разрабатываю первый раз можно сказать, есть тут событие onShow или что то в этом роде? И как его реализовать? Или как другим способом обновить данные не закрывая активити?
Код onCreate в активити с ListView
Код: Выделить всё
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts);
db = LoginActivity.database.query("Contacts", null, null, null, null, null, "fio");
if (db.moveToFirst()) {
// определяем номера столбцов по имени в выборке
idColIndex = db.getColumnIndex("_id");
fioColIndex = db.getColumnIndex("fio");
phoneColIndex = db.getColumnIndex("phone");
}
final Intent Contact = new Intent(this, ContactActivity.class);
// создаем адаптер
fillData();
ContactAdapter = new ContactAdapter(this, ContactsItem);
// настраиваем список
ListView ContaсtsList = (ListView) findViewById(R.id.ContaсtsList);
ContaсtsList.setAdapter(ContactAdapter);
ContaсtsList.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ContactItem p = ContactAdapter.getContactItem(position);
int ids = p.idcontact;
Contact.putExtra("id", ids+"");
startActivity(Contact);
}
});
}
Есть onResume() - при показе ранее созданного активити, которое было скрыто по тем или иным причинам.
ALT + INSERT выбираешь Override и ищешь там этот метод (можно юзать поиск).
Если нужно при закрытии конкретного активити, то можно запускать его forResult и отлавливать закрытие, подробнее: гугл.
Спасибо большое) разобрался, все работает отлично)