Android Обновление ListView

Я просмотрел 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 };

5
задан Community 23 May 2017 в 11:58
поделиться