getActivity() where it is defined?

前端 未结 11 1957
温柔的废话
温柔的废话 2020-12-13 10:19

I\'m very new to android and I\'m following this example.

The code says we need to do these steps to get an dialog box:

AlertDialog.Builder builder =         


        
相关标签:
11条回答
  • 2020-12-13 10:21

    The getActivity() method gives the context of the Activity. You can use YourActivityName.this instead of it.

    The method getActivity() is normally used in fragments to get the context of the activity in which they are inserted or inflated.

    eg

    AlertDialog.Builder builder = new AlertDialog.Builder(YourActivityName.this);
    

    or if you are writing the code in your activity itself even

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    

    will workout. Please feel free to ask any doubts

    0 讨论(0)
  • 2020-12-13 10:21

    getActivity(); is a method of android Fragment, if you want to show dialog in your activity, just pass this of your activity instead of getActivity().

    0 讨论(0)
  • getActivity() is the member method of the super class Activity that you extend from . It is defined in the Activity class itself. infact onCreate(), onPause() and all other functions are themselves also defined in the parent Activity Class.

    0 讨论(0)
  • 2020-12-13 10:24

    This article describes how to create an AlertDialog in a Fragment. in Fragments, you can get the corresponding Activity by calling getActivity() method. but in your case i assume you are doing this in an Activity. so you don't have to call getActivity(). just use this

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    0 讨论(0)
  • 2020-12-13 10:28

    I had exactly the same problem and finally I found what I actually suspected... Simply add:

    dialog.show();
    

    ...and voila. There it is. Wonder why this isn't stated in the original example!?

    0 讨论(0)
  • 2020-12-13 10:28

    Update android API level 23.

    Use getContext() instead of getActivity().

    0 讨论(0)
提交回复
热议问题