this.getActivity()
在我的片段中为无效,并且从实际活动本身中被称为。这并不总是发生,但是我该如何解决?
sportButton.setBackgroundColor(ViewHelper.getColor(this.getActivity()));
EventActivity.java
eventsFragment.setUpEvents(getEventApplication());
EventsFragment.java
public void setUpEvents(Application application) {
sportButton.setBackgroundColor(ViewHelper.getColor(this.getActivity()));
只需从
this.getActivity()
删除this
,如果您extends
AppCompatActivity
的Activity
,然后您必须用相同的 如下
(AppCompatActivity) getActivity()
如果其在父活动中运行的片段,则在这种情况下,您可以在片段中创建一个静态活动对象,并在片段中而不是getActivity((,因为它可以保证它可用到片段。
EventActivity.class
protected Activity activity;
onResume()
{
activity = this;
}
events fragment.class
sportButton.setBackgroundColor(ViewHelper.getColor(EventActivity.activity));
希望它有帮助