Я просмотрел Android - как обновить элемент ListView, который отображается в настоящее время и http://commonsware.com/Android/excerpt.pdf и Документация по Android, но я все еще не понимаю.
Моя проблема:
pdf и документацию по Android, но я все еще не понимаю. Мой ...
Я просмотрел Android - как обновить элемент ListView, который отображается в настоящее время и http://commonsware.com/Android/excerpt.pdf и Документация по Android, но я все еще не понимаю.
Моя проблема:
pdf и документацию по Android, но я все еще не понимаю. Мой ...
Я просмотрел Android - как обновить элемент ListView, который отображается в настоящее время и http://commonsware.com/Android/excerpt.pdf , а также Документация по Android, но я все еще не понимаю.
Моя проблема:
Используя обработчик, я пытаюсь обновить многоколоночный список данных Stock, который я заполнил из веб-службы, которая извлекает данные из базы данных MySQL.
Чтобы обновить представление списка, я вызываю сервлет, который возвращает XML, который я перебираю с помощью DOM.
Я не могу найти рабочий способ применить новые данные (из XML) в Listview, хотя необходимо обновить только третий столбец (Trade Column). Кроме того, когда я пытаюсь создать представление из строки ListView, я получаю исключение NullPointerException и не могу понять, почему.
Код, который я сделал до сих пор, приведен ниже.
Код java:
private void updateUI() throws Exception
{
Date dt = new Date();
int hours = dt.getHours();
int minutes = dt.getMinutes();
int seconds = dt.getSeconds();
String curTime = hours + ":" + minutes + ":"+ seconds;
refreshHandler.sleep(60000);
ListView listview = (ListView) findViewById(R.id.listview);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("http://10.0.0.29:8080/CI3500/FTSEXML");
//Filter and store ALL 'update' XML elements into node array
NodeList nodeList = doc.getElementsByTagName("update");
View v = null;
TextView t = null;
Adapter adapter = listview.getAdapter();
for (int i = 0; i < adapter.getCount(); i++)
{
v = listview.getChildAt(i);
t = (TextView)v.findViewById(R.id.item2);
String companyCode = t.getText().toString(); //Column 1
for(int j = 0; j < nodeList.getLength(); j++)
{
if(companyCode == nodeList.item(j).getFirstChild().getNodeValue())
{
//TODO Update Listview Code
}
}
}
txtStatus.setText(String.valueOf("Last Update: " + curTime));
}
Отображение списка выглядит следующим образом:
// create the grid item mapping
String[] columns = new String[] {"col_1", "col_2", "col_3" };
int[] rows = new int[] { R.id.CodeColumn, R.id.NameColumn, R.id.TradeColumn };