我有一个列表视图的适配器,每次到达.add行时,它都会崩溃,我已经设置了一个arrat适配器和一个文本视图以及所有内容,为什么会崩溃呢?
答案 0 :(得分:2)
如果不提供代码,就很难检查出错的地方。
以下链接为您提供了有关设置列表视图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或你创建的任何类做。
答案 1 :(得分:2)
我有类似你的问题,使用较旧的设备加载更多数据,使用较旧的Android版本......我首先添加了
objAdapter.addAll(loadMoreArray);
并致电
objAdapter.notifyDataSetChanged();
但这不是一个好的解决方案,如果您在objectAdapter中添加新的数据列表,则旧设备会崩溃应用程序。但解决方案是将新数据加载到新列表中,并在旧列表中添加新的数据列表
arrayListOfData.addAll(newArrayListOfData);
并致电
objAdapter.notifyDataSetChanged();
希望我帮助......