بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

یه مشکل کوچیک در پروژه listview (حل شد)

مدیریت گفتگو
آخرین تغییر: 11 سال پیش

سلام
تو پروژه listview بخش دهم وقتی از برنامه میای بیرون و دوباره برنامه رو اجرا میکنی دوباره 10 تا ایتم دیگه ساخته میشه و به قبلی ها اضافه میشه چطور میشه جلوشو گرفت؟

نظرات

بانوی شرقی 11 سال پیش
چه جالب . منم همین مشکل شما رو داشتم. الان دقیق دقیق یادم نیست ولی فکر کنم تابعی که listview رو پر میکرد رو تو oncreate قرار داده بودم. یا برعکسش. مشکلتون حل نشد بگید برم چک کنم

پاسخ‌ها 2

Denabit 11 سال پیش

سلام

از این کد استفاده کنید درست میشه

  if (adapter != null)
{
adapter.clear();
adapter.notifyDataSetChanged();
}

نظرات

اینو تست کرده بودم جواب نمیده - وقتی برنامه اجرا میشه adapter نال نیست و تو بار اول هم لیست رو نشون نمیده
Denabit 11 سال پیش

شما باید از کد بالا یه جوری توی برنامه استفاده کنید که هر بار به لیست اضافه نشه

مثلا یه راهش اینه

 public class ActivityMain extends Activity {

public ArrayAdapter adapter;


@Override
protected void onResume() {
G.currentActivity = this;
super.onResume();

if (adapter != null) {
adapter.clear();
adapter.notifyDataSetChanged();
fill();
}
}


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

ListView lstContent = (ListView) findViewById(R.id.lstContent);

adapter = new AdapterNote(G.notes);
lstContent.setAdapter(adapter);

fill();

}


private void fill() {
for (int i = 0; i < 10; i++) {
StructNote note = new StructNote();
note.title = "Title " + i;
note.description = "Description " + i;
note.done = false;

G.notes.add(note);
}

adapter.notifyDataSetChanged();

}
}

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .