浏览代码

Sample crash fix

Aidan Follestad 10 年之前
父节点
当前提交
86c18b2d7d

+ 15 - 9
sample/src/main/java/com/afollestad/materialdialogssample/FolderSelectorDialog.java

@@ -20,23 +20,25 @@ import java.util.List;
  */
 public class FolderSelectorDialog extends DialogFragment implements MaterialDialog.ListCallback {
 
-    File parentFolder;
-    File[] parentContents;
-    boolean canGoUp = true;
-    Callback mCallback;
-    MaterialDialog.ButtonCallback mButtonCallback = new MaterialDialog.ButtonCallback() {
+    private File parentFolder;
+    private File[] parentContents;
+    private boolean canGoUp = true;
+    private FolderSelectCallback mCallback;
+
+    private MaterialDialog.ButtonCallback mButtonCallback = new MaterialDialog.ButtonCallback() {
         @Override
         public void onPositive(MaterialDialog materialDialog) {
             materialDialog.dismiss();
             mCallback.onFolderSelection(parentFolder);
         }
+
         @Override
         public void onNegative(MaterialDialog materialDialog) {
             materialDialog.dismiss();
         }
     };
 
-    public static interface Callback {
+    public static interface FolderSelectCallback {
         void onFolderSelection(File folder);
     }
 
@@ -91,11 +93,15 @@ public class FolderSelectorDialog extends DialogFragment implements MaterialDial
         dialog.setItems(getContentsArray());
     }
 
-    public void show(Activity context, Callback callback) {
-        mCallback = callback;
-        show(context.getFragmentManager(), "FOLDER_SELECTOR");
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+        mCallback = (FolderSelectCallback) activity;
     }
 
+    public void show(Activity context) {
+        show(context.getFragmentManager(), "FOLDER_SELECTOR");
+    }
 
 
     public static class FolderSorter implements Comparator<File> {

+ 2 - 2
sample/src/main/java/com/afollestad/materialdialogssample/MainActivity.java

@@ -28,7 +28,7 @@ import java.io.File;
 /**
  * @author Aidan Follestad (afollestad)
  */
-public class MainActivity extends ActionBarActivity implements FolderSelectorDialog.Callback {
+public class MainActivity extends ActionBarActivity implements FolderSelectorDialog.FolderSelectCallback {
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -157,7 +157,7 @@ public class MainActivity extends ActionBarActivity implements FolderSelectorDia
         findViewById(R.id.folder_chooser).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                new FolderSelectorDialog().show(MainActivity.this, MainActivity.this);
+                new FolderSelectorDialog().show(MainActivity.this);
             }
         });
     }