On click i want display a dialog but i get an error in the show word. This part of code is in my MainActivity that extends and Activity.. Instead, the dialog i want display, is created in another class that extends DialogFragment.

Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
                             DialogFragment df=new DialogTrial();
                             df.show(this.getFragmentManager(), "MyDialog"); 

The error:

The method show(android.support.v4.app.FragmentManager, java.lang.String) in the type DialogFragment is not applicable for the arguments (android.app.FragmentManager, java.lang.String)

I tried everything: this.getFragmentManager(), getActivity(), context, thisbut always same error.

有帮助吗?

解决方案

You are passing wrong Fragment manager.. Change this line

 df.show(this.getFragmentManager(), "MyDialog");

into

df.show(this.getSupportFragmentManager(), "MyDialog");

其他提示

If you are using the support package, please check your imports:

I think you are mixing classes from support package and not.

If you use support package:

  1. make your activity extends FragmentActivity.
  2. Use getSupportFragmentManager()
  3. check all imports for example: import android.support.v4.app.DialogFragment;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top