Я видел, что было много проблем с notifyDataSetChanged(). Я просмотрел многие из них, и ни одно из решений не сработало для меня.
Я использую ArrayList для установки своего списка, и после обновления моего ArrayList я запустил notifyDataSetChanged(). Новый список добавляется к предыдущему.
скажем, первый список - это a, b, а новый список - это a, b, c. что я получаю в конце, это а, б, а, б, в. и каждый раз при обновлении это происходит снова с новым списком.
Я пробовал другие, такие как invalidate(), адаптер clear(), refreshDrawableState() и т. д., и ничего не получалось.
Заранее спасибо.
Вот упрощенный код, обратите внимание, что изменение MainActivity расширяет Activity на ListActivity, что приводит к сбою программы даже после того, как я изменил код в файле .xml.
public class MainActivity extends Activity
{
ArrayList<String> names = new ArrayList<String>();
ArrayAdapter arrayAdapter = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView lv1 = (ListView) findViewById(R.id.listview);
arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, names);
lv1.setAdapter(arrayAdapter);
}
//code here to edit the ArrayList names.
public void onResume()
{
super.onResume(); // Always call the superclass method first
//the activity need to be updated everytime it resumes.
arrayAdapter.notifyDataSetChanged();
}
}
ArrayList
? - person Spinner   schedule 23.08.2012