انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Refresh کردن

Refresh کردن

#1
سلام
من در یک نرم افزار گذاشتم که از اکتیویتی لیست اصلی و اکتیویتی صفحه اصلی نرم افزار بتوان به اکتیویتی لیست علاقه مندی ها رفت.  وقتی در لیست علاقه مندی ها میرم جلوی هر سطر لیست میتوان از گزینه حذف استفاده کرد.من گفتم که بعد از حذف اکتیویتی refresh بشه و برای اینکار یک intent از همین اکتیویتی به همین اکتیویتی نوشتم. نرم افزار درست کار کرد ولی با دکمه back برمیگرده به اکتیویتی آخری که باز بوده که میشه همین اکتیویتی علاقه مندی ها با این تفاوت که اون سطری که حذف شده بود رو هم نشون میده.میخوام ببینم آیا نحوه refresh کردن همینه یا یه کد جدا داره؟ و بعد اینکه به جای اینکه دکمه back به اکتیویتی لیست علاقه مندی ها برگرده که در حقیقت همون اکتیویتی است میخوام اگر از صفحه اصلی اومده بودیم با دکمه بک به صفحه اصلی برگردیم و اگه از لیست اصلی اومده بودیم به همین جا برگردیم.
خودم چیزایی تو ذهنم است ووی میخوام ببینم روش درست و عام چیه.
پیشاپیش از همه شما عزیزان ممنونم 
پاسخ

Refresh کردن

#2
سلام دوست عزیز برای رفرش کردن می توانی در یک تابع فرضا با نام (public void refresh) لیست ویوی مورد نظرت را مقدار دهی کنی و  بعد از حذف این تابع را فراخوانی کنی. مانند کد های زیر:
کد پی‌اچ‌پی:
public void [color=#B22222]refresh[/color](){
        
db.open();
        
int count=db.count();
        [
color=#FF0000]name[/color]=new String[count];
        
idt=new int[count];
        for(
int i=0;i<count;i++){
            [
color=#FF0000]name[/color][i]=db.Display(i, 1)+"\n"+db.Display(i, 2);
            
idt[i]=Integer.parseIntdb.Display(i,0));
        }
        
db.close();
        
list1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,[color=#FF0000]name[/color]));
    

و در کد های زیر دقت کنید که بعد از حذف یک آیتم از لیست ویو رفرش فراخوانی شده است و لیست ویو از نو مقدار دهی می شود.
کد پی‌اچ‌پی:
delete.setOnClickListener(new OnClickListener(){
                    public 
void onClick(View v) {
                        
dllo.cancel();
                        final 
Dialog dl=new Dialog(Main.this);
                        
dl.setContentView(R.layout.dialog);
                        
dl.setTitle("حذف");
                        
                        
TextView txt=(TextView)dl.findViewById(R.id.text);
                        
                        
Button ok=(Button)dl.findViewById(R.id.dialogButtonOK);
                        
ok.setOnClickListener(new OnClickListener(){
                            public 
void onClick(View v) {
                                
db.open();
                                
db.delete(idt[position]);
                                
db.close();
                                
dl.dismiss(); //  در این قسمت از کد وقتی حذف یک آیتم صورت می گیرد لیست با فراخوانی رفرش مقدار جدید را می گیرد و مورد حذف شده در لیست وجود ندارد 
                                
[color=#800000]refresh()[/color];
                            
}
                            
                        });
                        
Button no=(Button)dl.findViewById(R.id.dialogButtonNO);
                        
no.setOnClickListener(new OnClickListener(){
                            public 
void onClick(View v) {
                                
dl.dismiss();
                            }
                            
                        });
                        
dl.show();
                        
                    }
                }); 
امیدوارم توانسته باشم به شما کمک کنم.
 
پاسخ
 سپاس شده توسط hadiho ، شماره مجازی امارات


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان