2012-09-26 31 views
22

getActivity()の意味は?私はどこかで見たが、彼らはgetActivity()の代わりにMainActivity.this.startActionMode(mActionModeCallback)と書きました。誰かがこの2行の意味を説明することができますか?getActivity()は何を意味しますか?

someView.setOnLongClickListener(new View.OnLongClickListener() { 
     // Called when the user long-clicks on someView 
     public boolean onLongClick(View view) { 
      if (mActionMode != null) { 
       return false; 
      } 

      // Start the CAB using the ActionMode.Callback defined above 
      mActionMode = getActivity().startActionMode(mActionModeCallback); 
      view.setSelected(true); 
      return true; 
     } 
    }); 
+1

ほとんどの場合、 'getActivity()'はAndroid APIからのユーザ定義メソッドです。もっとコードを投稿できますか?特に、これがActivtyやその他のものを拡張するクラスにあるかどうかを知りたいと思います。 –

+0

フラグメントを使用すると、コンテキストを取得する唯一の方法です –

答えて

46

二つの可能性の定義:ActivityFragmentが現在関連付けられているFragmentリターンの

+1

ありがとう!この行が何を意味するのか説明できます** MainActivity.this **? 'MainActivity'のコードには – zoey

+4

、' MainActivity.this'は 'MainActivity'のインスタンスのActivityオブジェクトを返します。' Activity'は 'Context'を拡張します。これは' Context ' –

3

getActivity() - このフラグメントが現在関連付けられているアクティビティを返します。

0

私が知りたいと思っていたのと同様の疑念を持っていたのは、getActivity()で、フラグメントが関連付けられているActivityを返します。

getActivity()メソッドは、関連アクティビティが静的ではなく、静的メンバーではない静的メンバーを静的メンバーで使用できないため、一般的に静的フラグメントで使用されます。

I used <code>getActivity()</code> here to get non-static activity to which the the placeholder fragment is associated.

7

getActivity()fragmentのために使用されています。 activityの場合はthisのどの場合でもfragmentthisgetActivity()に置き換えることができます。