2017-05-24 12 views
-1

Ich erstellte GridView-Galerie in meinem Dialog. Diese Galerie hat einige Seiten, aber für jeden Moment erstelle ich einen separaten Dialog. All diese Dialoge (Galerieseiten) unterscheiden sich durch aktuellen Fortschritt (zB dass ich auf 4/12 Seite bin) Titel und nach Fotos (für jede Seite lade ich unterschiedliche Bilder). Ich denke, dass das Erstellen neuer Dialoge für jede Seite nicht gut ist, aber wie soll ich das in nur einem Dialog machen?Aktualisieren Sie den gesamten Inhalt in Dialog.

Einer meiner Dialoge Code:

public void threeChoice() 
    { 
     Collections.sort(photoList = imageReader(photoDir,"1008")); 
     inflater = this.getLayoutInflater(); 

     // Dialog layout 
     v = inflater.inflate(R.layout.dialog_choice, null); 

     progressDialog = (ProgressBar)v.findViewById(R.id.progressBar); 
     //progressDialog = new ProgressBar(mContext); 
     progressDialog.setMax(7); 
     progressDialog.setProgress(3); 


     gV = (GridView) v.findViewById(R.id.gridView); 

     // GridAdapter (Pass context and files list) 
     GridAdapter adapter = new GridAdapter(this, photoList); 

     // Set adapter 
     gV.setAdapter(adapter); 



     final AlertDialog.Builder builder2 = new AlertDialog.Builder(this); 
     builder2.setTitle("Album Page: 1008"); 

     builder2.setView(v); 
     builder2.setPositiveButton("NEXT", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) 
      { 
       NextPage(); //<-- go to next page 
      } 
     }).setNegativeButton("BACK", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) 
      { 
       PreviousPage(); //<-- Back to previous page 
      } 
     }); 

     gV.setOnItemClickListener(new AdapterView.OnItemClickListener() 
     { 
      public void onItemClick(AdapterView<?> parent, View v, int position, long id) 
      { 
       Intent intent = new Intent(getApplicationContext(), PhotoDetails.class); 
       intent.putExtra("image", photoList.get(position)); 
       startActivity(intent); 
      } 
     }); 

     builder2.setCancelable(false); 
     final AlertDialog dialog = builder2.create(); 
     dialog.show(); 
    } 

Antwort

0

Sie sollten die Unterschrift von NextPage(); und PreviousPage();-NextPage(View v); und PreviousPage(View v); ändern. Dann können Sie sie mit Ihrem Dialog-Layout aufrufen und dieses Layout direkt von Ihrer Funktion aus aktualisieren.

+0

Aber ich habe nur 2 Layout eins mit nur GridView Sekunde mit Elementen (ImageView) so wie es ist (View v) wenn ich ImageReader-Funktion aufrufen und den Rest Zeug wie Update-Adapter usw. –

+0

v nicht alle tun müssen die Ansichten im Dialog angezeigt? – Firerazzer

Verwandte Themen