آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

اپلیکیشن ساز شاپینا  11 سال پیش  11 سال پیش
+1 0

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

+1 0
چه جالب . منم همین مشکل شما رو داشتم. الان دقیق دقیق یادم نیست ولی فکر کنم تابعی که listview رو پر میکرد رو تو oncreate قرار داده بودم. یا برعکسش. مشکلتون حل نشد بگید برم چک کنم (11 سال پیش)
0 0
حل شد مرسی (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Denabit  11 سال پیش
+1 0

سلام

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

  if (adapter != null)
{
adapter.clear();
adapter.notifyDataSetChanged();
}
0 0
اینو تست کرده بودم جواب نمیده - وقتی برنامه اجرا میشه adapter نال نیست و تو بار اول هم لیست رو نشون نمیده (11 سال پیش)
پاسخ به سوال 
Denabit  11 سال پیش
+1 0

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

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

 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();

}
}
0 0
ممنون sa777@ - یه راه دیگه هم هست مه تو متد onStop آداپتر رو clear کنی که راحت تره (11 سال پیش)

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