ورود

View Full Version : مشکل با refresh



meysam jahedi
پنج شنبه 15 آبان 1393, 18:33 عصر
سلام





public int[] insertSort(int[]A){
int f , j ,temp;
for (f =1 ; f <A.length ; f++)
{
temp = A[f];
for (j = f ; j>0 && A[j-1]>temp ; j--)
A[j]=A[j-1];
A[j]=temp;

}
return A;

}

public void refresh(){
mydb=mydata.getReadableDatabase();
Cursor recdaryafti = mydb.rawQuery("select * from tbl group by id ", null);

KOD_SORT=new int[recdaryafti.getCount()];
KOD_FERST=new int[recdaryafti.getCount()];
A=new int[recdaryafti.getCount()];
if(recdaryafti.moveToFirst()){
do{

KOD_SORT[i] = Integer.parseInt(recdaryafti.getString(1));
KOD_FERST[i] = Integer.parseInt(recdaryafti.getString(1));

i++;
}
while(recdaryafti.moveToNext());
}

recdaryafti.close();
mydb.close();

setListAdapter(new MyAdapter(this,insertSort(KOD_SORT),KOD_FERST));


}

insertSort اعداد رو مرتب میکنه ،
دوتا اکتیویتی جدا دارم یکیش دستورات بالا توش هست و لیست ویو رو داره (Activity1)و
یک اکتیویتی دیگه دارم که با یه EditText و یه Button اعداد نامرتب رو به دیتابیس میفرستم و یک button دیگه توش هست که اکتیویتی اول رو باز میکنه (Activity2)،
refresh رو درون onCreate اولی (Activity1)گذاشتم و وقتی اکتیویتی برای اولین بار اجرا میشه insertSort به درستی کار میکنه و بوسیله setListAdapter دو ستون مرتب و نامرتب در لیست ویو نشون داده میشه (یعنی فقط برا اولین بار که وارد برنامه میشم و دکمه مرتب سازی ازActivity2 رو میزنم Activity1 باز میشه و اعدادی که تو دیتابیس هستش رو میاره و دو ستون مرتب و نامرتب نشون میده و همه چی خوبه )


مشکلم اینجاس:

اما وقتی وارد برنامه شدم و تو Activity2 کار insert رو انجام دادم و از تکست ویو عدد جدید فرستادم به دیتابیس و پشت سرش دکمه مرتب سازی رو میزنم که Activity1 باز بشه و نتیجه کار نشون داده بشه نمیشه و لیست مرتب نمیشه و هر دو ستون نامرتب و انگار تابع مرتب سازی کار نمیکنه ! (اما باز برنامه ببندم و دوباره وارد برنامه بشم و مستقیما برم سراغ دکمه مرتب سازی باز همه اعدا رو میاره و هردو ستون مرتب و نامرتب میاد و درست عمل میکنه ) !!!:گیج::گیج::گیج:

meysam jahedi
پنج شنبه 15 آبان 1393, 19:22 عصر
اصلا نمیدونم چرا یکبار بعد از insert ، و لود اکتیویتی بعدی لیست مرتب میاد اما back رو میزنم و دوباره اکتیویتی باز میکنم تابع مرتب سازی کار نمیکنه و نامرتب آخر لیست

tux-world
پنج شنبه 15 آبان 1393, 20:27 عصر
دوست عزیز شما باید توجه داشته باشی که موقعی که برمیگردی به اکتیویتی که قبلا توش بودی باید تابع onResume رو باز نویسی کنی میتونی اون تابع رو داخل این تابع بنویسی

meysam jahedi
پنج شنبه 15 آبان 1393, 21:54 عصر
دوست عزیز شما باید توجه داشته باشی که موقعی که برمیگردی به اکتیویتی که قبلا توش بودی باید تابع onResume رو باز نویسی کنی میتونی اون تابع رو داخل این تابع بنویسی
این کار رو کردم و تو onResume هم refresh رو نوشتم اما اصلا برنامه باز نمیشه و فورس کلوز میده