Java 看不到EditNameDialogListener接口
我想将对话框片段中的用户类型字符串“AddFriendDialogFragment.java”传递回调用它的活动:“HomeActivity.java”。我是通过“AddFriendDialogFragment.java”中声明的接口来实现的:“EditNameDialogListener”。但是由于某些原因,HomeActivity没有看到这个接口,所以我得到了一个“无法解析符号:”EditNameDialogListener“错误 “HomeActivity.java”: “AddFriendDialogFragment.java”:Java 看不到EditNameDialogListener接口,java,android,android-dialogfragment,dialogfragment,Java,Android,Android Dialogfragment,Dialogfragment,我想将对话框片段中的用户类型字符串“AddFriendDialogFragment.java”传递回调用它的活动:“HomeActivity.java”。我是通过“AddFriendDialogFragment.java”中声明的接口来实现的:“EditNameDialogListener”。但是由于某些原因,HomeActivity没有看到这个接口,所以我得到了一个“无法解析符号:”EditNameDialogListener“错误 “HomeActivity.java”: “AddFrien
实现接口的名称应为AddFriendDialogFragment.EditNameDialogListener
public class HomeActivity extends Activity implements AddFriendDialogFragment.EditNameDialogListener
即使它们在同一个包中,也不能直接使用
EditNameDialogListener
,因为它是内部接口
您有两种选择:
->使用EditNameDialogListener
完全限定名,即AddFriendDialogFragment.EditNameDialogListener
public class HomeActivity extends Activity implements AddFriendDialogFragment.EditNameDialogListener
import tutorial.com.example.jerryhou.dialogactionbartutorial.AddFriendDialogFragment.EditNameDialogListener
public class HomeActivity extends Activity implements EditNameDialogListener
->显式导入EditNameDialogListener
public class HomeActivity extends Activity implements AddFriendDialogFragment.EditNameDialogListener
import tutorial.com.example.jerryhou.dialogactionbartutorial.AddFriendDialogFragment.EditNameDialogListener
public class HomeActivity extends Activity implements EditNameDialogListener
您可以将接口复制到单独的编译单元/文件中 或 可能在接口前面使用静态范围标识符
public static interface EditNameDialogListener
{...}
提到@Hacketo这样的东西会有帮助:
public class HomeActivity extends Activity implements AddFriendDialogFragment.EditNameDialogListener
奇怪,因为任何像样的ide都会通过在外部类名前加前缀来为您解决这个问题。您使用的ide是什么?