1

在我的 android 应用程序内部活动中,我定义了一个这样的接口:

 public interface sideFilterInterface
    {
        public void changeFilters(int layoutId);
    }

在活动内部我像这样使用这个界面

@Override
public void onCreate(Bundle savedInstanceState) {
    mCallback = (sideFilterInterface) this;
    mCallback.changeFilters(R.layout.filter_details);
}

我正在另一个片段中实现这个接口。当我尝试这段代码时,它给了我关于在这里投射的错误mCallback = (sideFilterInterface) this;

这个怎么做。难道我做错了什么。需要帮忙。谢谢你。

4

1 回答 1

0

主要的是,如果您没有在活动中实现侦听器,您正在尝试将您的活动转换为侦听器。

如果是public void changeFilters(int layoutId)通过接口调用的话,代码不会执行,因为接口中的方法是抽象的。需要在activity中实现监听器,然后在里面做代码。就像是 :

     public class YourActivity extends Activity implements sideFilterInterface{
            @Override
            public void onCreate(Bundle savedInstanceState) {
                 //some code
                 this.changeFilters(R.layout.filter_details);
            }
            @Override
            public void changeFilters(int layoutId) {
                //Implement here
           }
   }
于 2013-09-03T06:29:58.187 回答