Почему происходит сбой файла adapter.add? - PullRequest
0 голосов
/ 06 января 2012

У меня есть адаптер для представления списка, и каждый раз, когда он достигает строки .add, он вылетает, и я уже установил для него адаптер arrat, текстовое представление и все, так почему же происходит сбой?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2014

У меня была такая же проблема, как и у вас, загрузить больше данных со старых устройств, со старой версией Android ... и я впервые добавил

objAdapter.addAll (loadMoreArray);

и звоните

objAdapter.notifyDataSetChanged ();

но это не было хорошим решением, старое приложение для сбоя устройства, если вы добавили новый список данных в objectAdapter. Но решением было загрузить новые данные в новый список и добавить новый список данных в старый список

arrayListOfData.addAll (newArrayListOfData);

и звоните

* * ObjAdapter.notifyDataSetChanged тысячи двадцать-одина (); * * тысяча двадцать-дв

Надеюсь, я помог ...

2 голосов
/ 25 января 2012

Без предоставления вашего кода очень трудно проверить, что может быть не так.

Следующая ссылка дает вам руководство по настройке просмотра списка http://developer.android.com/resources/tutorials/views/hello-listview.html,, однако оно реализует ListActivity.

Если вы реализуете только Activity, ваш код должен выглядеть следующим образом

package my.test;

import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MyActivity extends Activity {
    ListView lvList; // the listview
    ArrayAdapter<String> adapter; // the adapter responsible for the rendering
    ArrayList<String> listItems = new ArrayList<String>(); // the list of items
    String myString = "Text to add"; // the text to add

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        lvList = (ListView) findViewById(R.id.mylistview);
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, listItems);
        lvList.setAdapter(adapter);

            //add the text to the list of items
        listItems.add(myString);

            //tell the adapter that the list have change and the
            //rendering should be refreshed
        adapter.notifyDataSetChanged();
    }
}

На самом деле приведенный мной пример относится к String, но вы можете сделать это для Integer или любого созданного вами класса.

...