【发布时间】:2021-11-28 16:10:21
【问题描述】:
我有以下代码:
public class SettingsActivity extends AppCompatActivity implements SettingsActivity.SettingsFragment.SendToActivity {
...
public static class SettingsFragment extends PreferenceFragmentCompat {
SendToActivity callback;
public void setSendToActivity (SendToActivity callback) {
this.callback = callback;
}
public interface SendToActivity {
public void send(int result);
}
...
}
@Override
public void onAttachFragment(Fragment fragment) {
if (fragment instanceof SettingsFragment) {
SettingsFragment settingsFragment = (SettingsFragment) fragment;
settingsFragment.setSendToActivity(this);
}
}
public void send(int result) {
...
}
}
但我在 SettingsActivity 类的声明中收到以下错误:cyclic inheritance involving SettingsActivity。我做错了什么?
【问题讨论】:
-
SendToActivity定义在哪里? -
@CommonsWare 哦正在编辑...
-
@CommonsWare 已编辑。
-
尝试将其移动到
SettingsActivity内,而不是在您的inner class内。这会将implements更改为SettingsActivity.SendToActivity。 -
如果我只在
implements之后使用SettingsFragment.SendToActivity,SettingsFragment会变红并说:cannot find symbol。
标签: android android-activity fragment