【发布时间】:2017-08-04 12:08:08
【问题描述】:
当在导航抽屉活动中选择某个项目时,我需要在片段中调用一个方法。 为此,我创建了一个接口,我将从活动中初始化并调用一个方法,此外,我将在 Fragment 中实现此接口并覆盖此方法。 这是声明接口的代码sn-p。
public interface AlertForDiscardDefaultProfileChanges {
void alertForDiscardDefaultProfileChanges(int navigationItemID);
}
这就是我在活动中初始化的方式。
private AlertForDiscardDefaultProfileChanges alertForDiscardDefaultProfileChanges;
@Override
public void onCreate(Bundle savedInstanceState) {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
alertForDiscardDefaultProfileChanges = (AlertForDiscardDefaultProfileChanges) this;
}
这里我得到java.lang.ClassCastException 来初始化它。
不确定我在这里遗漏了什么或出了什么问题。
【问题讨论】:
-
只需通过
implements AlertForDiscardDefaultProfileChanges实现你的接口 -
为什么?我不想在同一个activity中实现,我想在它的容器片段中实现这个接口。
-
所以只做片段。有什么问题?
-
我得到 java.lang.ClassCastException 用于在 Activity 中对其进行初始化。
-
检查我的答案@MihirPatel 它将解决您的问题
标签: java android android-fragments android-activity interface