我的片段中this.getActivity()
为NULL,并从实际活动本身调用。这并不总是会发生,但我该如何解决这个问题?
sportButton.setBackgroundColor(ViewHelper.getColor(this.getActivity()));
EventActivity.java
eventsFragment.setUpEvents(getEventApplication());
EventsFragment.java
public void setUpEvents(Application application) {
sportButton.setBackgroundColor(ViewHelper.getColor(this.getActivity()));
答案 0 :(得分:0)
只需从
this
移除this.getActivity()
,如果您extends
,则移除Activity
来自AppCompatActivity
的{{1}}然后你必须用同样的方式投射它 如下所示
(AppCompatActivity) getActivity()
答案 1 :(得分:0)
如果它的片段在父活动中运行,那么在这种情况下,你可以在EventActivity中创建一个静态Activity对象,并在片段中引用而不是getActivity(),因为它保证可用于片段。
EventActivity.class
protected Activity activity;
onResume()
{
activity = this;
}
EventsFragment.class
sportButton.setBackgroundColor(ViewHelper.getColor(EventActivity.activity));
希望有所帮助