活性在碎片中为无效,但并非总是在android中



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 AppCompatActivityActivity,然后您必须用相同的 如下

(AppCompatActivity) getActivity()

如果其在父活动中运行的片段,则在这种情况下,您可以在片段中创建一个静态活动对象,并在片段中而不是getActivity((,因为它可以保证它可用到片段。

EventActivity.class

protected Activity activity;
onResume()
{
    activity = this;
}

events fragment.class

sportButton.setBackgroundColor(ViewHelper.getColor(EventActivity.activity));

希望它有帮助

相关内容

  • 没有找到相关文章