Урок 52. SimpleCursorAdapter, пример использования
Re: Урок 52. SimpleCursorAdapter, пример использования
в общем смысле ему нужно сделать notifydatasetchanged.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
-
- Сообщения: 6
- Зарегистрирован: 15 май 2013, 17:22
Re: Урок 52. SimpleCursorAdapter, пример использования
Программа падает когда я это делаю. Посмотрите пожалуйста активити, что не так. Возможно я параметры AsyncTask не правильные сделал.
Код: Выделить всё
public class MyActivity extends Activity {
DataBaseAdapt db;
Cursor cursor;
SimpleCursorAdapter sAdapter;
ListView viewl;
EditText message_text;
SendMessage mt;
//int widgetID = R.id.HeadText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
message_text = (EditText) findViewById(R.id.MessField);
db = new DataBaseAdapt(this);
db.open();
cursor = db.getAllInfo();
startManagingCursor(cursor);
String [] from = new String[] {DataBaseAdapt.column_sinfo};
int [] to = new int[] {R.id.itemText};
sAdapter = new SimpleCursorAdapter(this, R.layout.item, cursor, from, to);
viewl = (ListView)findViewById(R.id.listView);
viewl.setAdapter(sAdapter);
db.close();
}
public void SendMessage(View v){
String newmessage = message_text.getText().toString().trim();
if(newmessage.length() > 0){
message_text.setText("");
AddNewMessage(newmessage);
mt = new SendMessage();
mt.execute();
}
}
class SendMessage extends AsyncTask<Void, Void, ListView> {
@Override
protected ListView doInBackground(Void... params) {
try {
sAdapter.notifyDataSetChanged();
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
return viewl;
}
@Override
protected void onPostExecute(ListView result) {
super.onPostExecute(result);
}
}
public void AddNewMessage(String message){
db = new DataBaseAdapt(this);
db.open();
db.addRec(message);
db.close();
}
}
Re: Урок 52. SimpleCursorAdapter, пример использования
а лог ошибок? строка на которой ошибка..?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 52. SimpleCursorAdapter, пример использования
у курсор адаптеров нету такого как у обычных адаптеров что бы сказали ему обновись и он обновился, курсор это привязка к адаптеру и обновлять нужно именно егоFoenix писал(а):в общем смысле ему нужно сделать notifydatasetchanged.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 6
- Зарегистрирован: 15 май 2013, 17:22
Re: Урок 52. SimpleCursorAdapter, пример использования
Лог ошибок тогда скидывать нет смысла. Резак, можно по конкретней, пожалуйста, как это делается?
Re: Урок 52. SimpleCursorAdapter, пример использования
ну я думала, что исходные данные им уже меняются, а на экране ничего не происходитrezak90 писал(а):у курсор адаптеров нету такого как у обычных адаптеров что бы сказали ему обновись и он обновился, курсор это привязка к адаптеру и обновлять нужно именно егоFoenix писал(а):в общем смысле ему нужно сделать notifydatasetchanged.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 52. SimpleCursorAdapter, пример использования
в логе смысл есть всегда.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 52. SimpleCursorAdapter, пример использования
Вытаскиваете курсор заново из бд и у адаптера есть метод changeCursorAndColumns, в который заново передаются новые параметрыОтправляется смс, сохраняется в БД, и я хочу сделать с помощью AsyncTask чтобы список сразу обновлялся. AsyncTask написал, но вот как сделать чтобы обновлялся simpleCursorAdapter не знаю.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
-
- Сообщения: 6
- Зарегистрирован: 15 май 2013, 17:22
Re: Урок 52. SimpleCursorAdapter, пример использования
Ура ура ура, я это сделал, спасибо вам большое
Единственное у меня вопрос, строчку с startManagingCursor(cursor) я заменил на cursor.movetosat(), и все равно работает. Я же правильно понимаю что первый вариант ставит курсор в стартовое положение и говорит "вот с этого мы начнем пробегаться по списку", а второй вариант уводит курсор в конец списка? И получается что первый вариант ест больше ресурсов? Или я не прав?
Код: Выделить всё
@Override
protected void onPostExecute(ListView result) {
super.onPostExecute(result);
db.open();
Log.d(LOG_TAG, "DB OPEN");
cursor = db.getAllInfo();
startManagingCursor(cursor);
Log.d(LOG_TAG, "CURSOR MOVE TO LAST");
String [] from = new String[] {DataBaseAdapt.column_sinfo};
int [] to = new int[] {R.id.itemText};
sAdapter.changeCursorAndColumns(cursor, from, to);
Log.d(LOG_TAG, "ADAPTER START");
}
-
- Сообщения: 6
- Зарегистрирован: 15 май 2013, 17:22
Re: Урок 52. SimpleCursorAdapter, пример использования
Доброго времени суток. На предыдущее сообщение мне не ответили, любопытство мое не удовлетворили
У меня новый вопрос по теме, делаю свой биндер к курсор адаптеру. Смысл в нем тот, чтобы если сообщение написано от меня, то слева выводить текст сообщения, справа мое имя. Причем веса должны меняться, чтобы текст сообщения занимал большее пространство. И наоборот, если написано от девушки например, то справа текст сообщения, слева ее имя. Так оно и выполняется, косяк в том, что даже если в биндере не выполняется условие на проверку, то веса все равно меняются. Почему????
Вот код биндера, скажите пожалуйста, что я не так делаю?
У меня новый вопрос по теме, делаю свой биндер к курсор адаптеру. Смысл в нем тот, чтобы если сообщение написано от меня, то слева выводить текст сообщения, справа мое имя. Причем веса должны меняться, чтобы текст сообщения занимал большее пространство. И наоборот, если написано от девушки например, то справа текст сообщения, слева ее имя. Так оно и выполняется, косяк в том, что даже если в биндере не выполняется условие на проверку, то веса все равно меняются. Почему????
Вот код биндера, скажите пожалуйста, что я не так делаю?
Код: Выделить всё
@Override
public boolean setViewValue(View view, Cursor cursor, int i) {
switch (view.getId()){
case R.id.itenTextAddress:
if (cursor.getString(i).equals("You")){
TextView addtext = (TextView) view;
addtext.setText(cursor.getString(1));
pass = cursor.getString(1);
addtext.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 0.9f));
return true;
}
case R.id.itemTextMessage:
if (cursor.getString(i).equals(pass)){
TextView mestext = (TextView) view;
mestext.setText(cursor.getString(2));
mestext.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 0.1f));
return true;
}
}
return false;
}
Re: Урок 52. SimpleCursorAdapter, пример использования
при добавлении картинок в проект, их id меняются и в списке появляются совсем другие картинки, что с этим делать?
Re: Урок 52. SimpleCursorAdapter, пример использования
у картинок вообще говоря нет id, уточни, что именно там происходит.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 52. SimpleCursorAdapter, пример использования
Код: Выделить всё
final String[] from = { NamesColumns.AGE, NamesColumns.IMG, NamesColumns.DATE};
final int[] to = new int[] { R.id.ticket, R.id.image, R.id.date_text};
Re: Урок 52. SimpleCursorAdapter, пример использования
нужно писать кастомный адаптер и в getView уже форматироватьArtemko писал(а):В третей колонке хранятся даты в Unix формате (LONG). Как мне это длинное число переформатировать в нормальный формат даты и присвоить это R.id.date_textКод: Выделить всё
final String[] from = { NamesColumns.AGE, NamesColumns.IMG, NamesColumns.DATE}; final int[] to = new int[] { R.id.ticket, R.id.image, R.id.date_text};
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 52. SimpleCursorAdapter, пример использования
а других способов получения даты нет?
Re: Урок 52. SimpleCursorAdapter, пример использования
нет, ведь в TextView будет писаться инфа та которая с базы вытягивается, а она там в longArtemko писал(а):а других способов получения даты нет?
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 52. SimpleCursorAdapter, пример использования
можно по-разному, например, попытаться форматнуть прямо в запросе из базы, а можно хранить еще одну колонку в таблице с отформатированной датой - смотря какая задача и как выгодно.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 52. SimpleCursorAdapter, пример использования
а можно в запросе, ведь у SQLite есть хорошие функции для работы с датамиFoenix писал(а):можно по-разному, например, попытаться форматнуть прямо в запросе из базы, а можно хранить еще одну колонку в таблице с отформатированной датой - смотря какая задача и как выгодно.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 52. SimpleCursorAdapter, пример использования
Я вообще с серверных бд все пытаюсь сделать запросом.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 52. SimpleCursorAdapter, пример использования
нет, я имею ввиду другой способ записи даты в БД. Не через Long, а как то еще, чтоб потом нормально считать можно былоrezak90 писал(а):нет, ведь в TextView будет писаться инфа та которая с базы вытягивается, а она там в longArtemko писал(а):а других способов получения даты нет?