2016-05-13 8 views
1

で働いていない私はDialogFragmentAlertDialogがDialogFragment

fmonday.javaコード(PS:私はそれを短くするために、コードのいくつかの作品を削除): 'onCreateDialog' に問題がある

public class fmonday extends DialogFragment implements LoaderManager.LoaderCallbacks<Cursor> { 
final int DIALOG_ITEMS = 1; 
final CharSequence[] items = {"1", "2", "3"}; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fmonday, container, false); 
    Button button12 = (Button) rootView.findViewById(R.id.button12); 
    button12.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      getActivity().showDialog(DIALOG_ITEMS); 
     } 
    }); 
} 
@Override //Error is on this line 
    protected Dialog onCreateDialog(int id) { 
    switch (id) { 
     case DIALOG_ITEMS: 
      AlertDialog.Builder adb = new AlertDialog.Builder(getActivity()); 
      adb.setTitle("Adding class"); 
      adb.setItems(items, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int item) { 
        Toast.makeText(getActivity().getApplicationContext(), 
          "Your choice: " + items[item], 
          Toast.LENGTH_SHORT).show(); 
       } 
      }); 
      adb.setCancelable(false); 
      return adb.create(); 
     default: 
      return null; 
    } 
} 

logcat:

Error:(88, 5) error: method does not override or implement a method from a supertype

これを解決するにはどうすればよいですか?

+0

[Activity.showDialog](http://developer.android.com/intl/es/reference/android/app/Activity.html#showDialog(int、android.os.Bundle))は廃止予定ですので使用してください'DialogFragment' –

+0

フラグメントインポートファイルをチェックします。もし' import android.support.v4.app.Fragment; 'が' android.app.Fragment'に変更されていれば –

答えて

0
AlertDialog.Builder adb = new AlertDialog.Builder(ActivityName.this); 
.... 
return adb.create(); 

代わりの

AlertDialog.Builder adb = new AlertDialog.Builder(getActivity()); 
.... 
return adb.create(); 

私はそれはあなたに役立ちますだと思います。

関連する問題