2012-09-29 99 views

回答

4

您正在试图从静态片段(即一个是从活动的实例分开)调用活动的实例方法。记住,您始终可以使用getActivity()访问包含您的片段的活动。所以:

if (getActivity() != null) { 
    mMode = getActivity().startActionMode(new AnActionModeOfEpicProportions()); 
    } 

更简洁的方法是声明一个接口类来管理片段和活动之间的通信。

+0

感谢您的回复,但我在发帖之前,我曾尝试'getActivity()'和'也不过Context'他们二人的不作品,图片:http://i.imgur.com/YRrCU.png – xAnGz

+0

这是因为你不能使用“this”作为参数。您需要提供一个'ActionMode.Callback'的实例,就像[本示例](http://www.vogella.com/articles/AndroidListView/article.html#listview_actionbar) – dmon

+0

[documentation](http:// developer.android.com/reference/android/app/Activity.html#startActionMode(android.view.ActionMode.Callback))是你的朋友。 – dmon

0

支持库,您可以使用它:

((ActionBarActivity) getActivity()).startSupportActionMode (new AnActionModeOfEpicProportions());