2015-07-07 4 views
1

Я действительно устал, у меня есть этот код в onPostExecute, подключенный к AsyncTask, который загружает изображение. Дело в том, тост показывает, что размер ниже 20000 байт, но materialdialog никогда не проявляется, его, как если заявление является ложным, даже если тост подтверждает, что это правдаAsyncTask onPostExecute Dialog не работает

File imgFile = new File(getApplicationInfo().dataDir+"/files/"+imageNr+".jpg"); 
double bytes = imgFile.length(); 
Toast.makeText(getApplicationContext(), ""+bytes, Toast.LENGTH_LONG).show(); 

if (bytes<20000.0){ 
    new MaterialDialog.Builder(MainActivity.this) 
      .title("Oh no!") 
      .content("We've run out of pictures! Would you like to start over or check if a new picture has been uploaded?") 
      .positiveText("Check again") 
      .negativeText("Start over") 
      .callback(new MaterialDialog.ButtonCallback() { 
       @Override 
       public void onPositive(MaterialDialog dialog) { 
        getImage(); 
       } 

       @Override 
       public void onNegative(MaterialDialog dialog) { 
        int imageNr=1; 
        SharedPreferences.Editor editorsave = sharedPreferences.edit(); 
        editorsave.putInt("ImageNr", imageNr); 
        editorsave.apply(); 
        getImage(); 
       } 
      }); 


} else { 
    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); 
    imageView.setImageBitmap(myBitmap); 

    // Do stuff here 
} 
+1

Вы должны использовать MaterialDesignDialog.show в конце – eddykordo

ответ

1

вызов MaterialDialog.Builder.show(). если он не появится.

 new MaterialDialog.Builder(MainActivity.this) 
       .title("Oh no!") 
       .content("We've run out of pictures! Would you like to start over or check if a new picture has been uploaded?") 
       .positiveText("Check again") 
       .negativeText("Start over") 
       .callback(new MaterialDialog.ButtonCallback() { 
        @Override 
        public void onPositive(MaterialDialog dialog) { 
         getImage(); 
        } 

        @Override 
        public void onNegative(MaterialDialog dialog) { 
         int imageNr=1; 
         SharedPreferences.Editor editorsave = sharedPreferences.edit(); 
         editorsave.putInt("ImageNr", imageNr); 
         editorsave.apply(); 
         getImage(); 
        } 
       }).show(); 
+0

Oooooh, вот что я пропустил ... Я схожу с ума: х Спасибо! –

0

У вас не хватает, чтобы позвонить в show()MaterialDialog.Builder.

new MaterialDialog.Builder(MainActivity.this) 
      .title("Oh no!") 
      .content("We've run out of pictures! Would you like to start over or check if a new picture has been uploaded?") 
      .positiveText("Check again") 
      .negativeText("Start over") 
      .callback(new MaterialDialog.ButtonCallback() { 
       @Override 
       public void onPositive(MaterialDialog dialog) { 
        getImage(); 
       } 

       @Override 
       public void onNegative(MaterialDialog dialog) { 
        int imageNr=1; 
        SharedPreferences.Editor editorsave = sharedPreferences.edit(); 
        editorsave.putInt("ImageNr", imageNr); 
        editorsave.apply(); 
        getImage(); 
       } 
      }) 
      .show(); 

MaterialDialog в AlertDialog теперь также доступна с AppCompat v21.

compile 'com.android.support:appcompat-v7:22.2.0' 
Смежные вопросы