Android 活动无法强制转换到侦听器

Android 活动无法强制转换到侦听器,android,interface,Android,Interface,在我的项目中,我创建了一个名为VerifiedListnerInterface的接口,其中包含方法public void VerifiedInterfaceListner(String VarifiedValue)。现在我有一个包含导航抽屉的活动。 在那个抽屉里,我打开了OnItemClickListner上的片段,效果很好 但当我尝试分配listner时,它会给我类强制转换异常 HomeActivity cannot be cast to com.Interfaces.VerifiedInte

在我的项目中,我创建了一个名为
VerifiedListnerInterface
的接口,其中包含方法
public void VerifiedInterfaceListner(String VarifiedValue)。现在我有一个包含导航抽屉的活动。
在那个抽屉里,我打开了
OnItemClickListner
上的片段,效果很好

但当我尝试分配listner时,它会给我类强制转换异常

HomeActivity cannot be cast to com.Interfaces.VerifiedInterface 
我在itemClickListner中的代码是:

if(position==3)
{
VerifiedInterface listner = (VerifiedInterface) HomeActivity.this;
                    listner.VerifiedInterfaceListner(ConstantFunction.getStatus(HomeActivity.this, ConstantVariables.VERIFIED));
                    openNewFragment(new EditProfileFragment(), "driverEditProfile");
}
我的自定义接口类是

public interface VerifiedInterface {
    public void VerifiedInterfaceListner(String VarifiedValue);
}
那么如何初始化listner呢

我打开片段的代码是

public void openNewFragment(Fragment f, String tag) {


        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        Fragment fragment = getSupportFragmentManager().findFragmentByTag(tag);

        if (fragment != null) {
            if (currentFragment != null) {
                if (fragment.getClass().equals(currentFragment.getClass())) {
                    driverNavigationdrawer.closeDrawers();
                    return;
                }
            }
            ft.show(fragment);
            ft.hide(currentFragment);
            currentFragment = fragment;

        } else {
            if (currentFragment != null)
                ft.hide(currentFragment);

            ft.add(R.id.driverFrameContainer, f, tag);
            currentFragment = f;
        }
        ft.commit();
        driverNavigationdrawer.closeDrawers();
    }

您的家庭活动是否实现了验证接口?像这样:

public class HomeActivity extends AppCompatActivity implements VerifiedListenerInterface {
    // ...
}

您的家庭活动是否实现了验证接口?像这样:

public class HomeActivity extends AppCompatActivity implements VerifiedListenerInterface {
    // ...
}

根据错误,您的HomeActivity似乎不是VerifiedInterface类型的实例

确保您在HomeActivity中实际实现了该接口,例如:

public class HomeActivity extends AppCompatActivity implements VerifiedInterface {
   //rest of the code of HomeActivity
}

根据错误,您的HomeActivity似乎不是VerifiedInterface类型的实例

确保您在HomeActivity中实际实现了该接口,例如:

public class HomeActivity extends AppCompatActivity implements VerifiedInterface {
   //rest of the code of HomeActivity
}

您必须在另一个类的构造函数中传递活动

在实现接口的活动中:

otherClass obj = otherClass(HomeActivity.this);
在otherClass.java中:

在任意位置创建引用:

VerifiedInterface listener
编写一个构造函数:

otherClass(VerifiedInterface listenerpassed){
    this.listener = listenerpassed;
}
因此,现在在otherClass中,您可以使用此
侦听器
向活动发送回调:

listener.VerifiedInterfaceListner(VarifiedValue);
在您的
HomeActivity
中,您将在
VerifiedInterfaceListner

@Override
public void VerifiedInterfaceListner(String VarifiedValue){
//Do your stuff like opening another fragment ..
}

您必须在另一个类的构造函数中传递活动

在实现接口的活动中:

otherClass obj = otherClass(HomeActivity.this);
在otherClass.java中:

在任意位置创建引用:

VerifiedInterface listener
编写一个构造函数:

otherClass(VerifiedInterface listenerpassed){
    this.listener = listenerpassed;
}
因此,现在在otherClass中,您可以使用此
侦听器
向活动发送回调:

listener.VerifiedInterfaceListner(VarifiedValue);
在您的
HomeActivity
中,您将在
VerifiedInterfaceListner

@Override
public void VerifiedInterfaceListner(String VarifiedValue){
//Do your stuff like opening another fragment ..
}


您只需使用
VerifiedInterface listner=HomeActivity.this如果您的活动正在实现该接口,您应该不会收到任何错误我的活动没有实现接口..因为我想在其他地方实现..我只想在列表中获取值检查我的答案就像这里提到的每个答案一样,您需要在HomeActivity中实现接口。如果您想在其他活动中使用它,请在该活动中键入cast。或者,如果您需要其他内容,请编辑您的问题并说明您真正想要的内容。您可以使用
VerifiedInterface listner=HomeActivity.this如果您的活动正在实现该接口,您应该不会收到任何错误我的活动没有实现接口..因为我想在其他地方实现..我只想在列表中获取值检查我的答案就像这里提到的每个答案一样,您需要在HomeActivity中实现接口。如果您想在其他活动中使用它,请在该活动中键入cast。或者,如果您需要其他内容,请编辑您的问题,并说明您实际需要的位置。不,我想在其他地方输入listner。我只想在此处分配一个值OK,但您会遇到强制转换问题,因为HomeActivity未实现此接口。不,我想在其他地方输入listner。我只想在此处分配一个值OK,但您会遇到cast问题,因为HomeActivity没有实现此接口。但我想为listner分配一个值,该值将反映我在何处实现了该接口。我如何才能做到这一点,但我要访问的小部件是片段,我如何才能访问HomeActivity中的小部件?当你的小部件被按下或者你的工作完成时,我在你的片段中只使用了一个片段的实例,使用
listener.VerifiedInterfaceListner(VarifiedValue)
将字符串值传递给HomeActivity,然后该字符串现在可以在HomeActivity中使用!!看,我的问题很简单,每当我点击抽屉菜单时,我想给界面赋值。点击时,我不想重新加载片段,我只想让片段中的值出现在我在listnerLet us中实现的方法中。但我想给listner分配一个值,该值将反映我在何处实现了该接口。我怎么做呢?但是我想访问的小部件在片段中。我怎么能访问HomeActivity中的小部件?当你的小部件被按下或者你的工作完成时,我在你的片段中只使用了一个片段的实例,使用
listener.VerifiedInterfaceListner(VarifiedValue)
将字符串值传递给HomeActivity,然后该字符串现在可以在HomeActivity中使用!!看,我的问题很简单,每当我点击抽屉菜单时,我想给界面赋值。在那个点击中,我不想重新加载片段,我只想让片段中的值出现在我在listnerLet中实现的方法中。