微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – ActionBarActivity和FragmentActivity ……“Inconvertible类型”?

我目前有一个奇怪的问题,试图同时使用v4和v7(动作栏)兼容性库.

假设我有自己的Activity类,它一方面扩展了ActionBaractivity,另一方面扩展了Fragment,我称之为“(MyActivity)getActivity()”.

我检查了导入,我的Fragment是一个v4片段.

在v4片段中,调用“getActivity()”会返回FragmentActivity.

我还检查了:ActionBaractivity扩展了FragmentActivity.

在这是我的问题:
我在编辑器中没有任何错误(没有红线).
我正在使用Android Studio.
当我尝试“制作”项目时,编译器每次在我的片段中调用“getActivity”时都会返回错误.
它告诉我他有一个FragmentActivity但是ActionBaractivity是预期的,并告诉我这些类是不兼容的.
它中断,我甚至无法测试我的应用程序.

这可能是gradle配置的问题,但我在build.gradle文件的“dependencies”部分添加了“compile”编译“com.android.support:appcompat-v7:18.0.”,如本页所述:“http://developer.android.com/tools/support-library/setup.html”,它没有改变任何东西……

任何的想法?

编辑:
作为我昨天帖子的补充,即使以前解释了一切,这里有一些代码部分和Android-Studio给出的错误信息:

首先,我的活动:

...
import android.support.v7.app.ActionBaractivity;
...
public abstract class MyAbstractActivity extends ActionBaractivity{
    //Do some stuff here
}

我的应用程序的每个活动都扩展了这个类

在这是我的片段:

...
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBar;
...
public class MyFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        //Do some stuff...
        ((MyAbstractActivity)getActivity()).getSupportActionBar().setTitle(R.string.app_name);
    }

    //Do some stuff...
}

编辑器中未显示错误.
但是当我“制作”项目时,我在“事件日志”中收到此消息:

Compilation completed with 5 errors and 0 warnings in 4 sec

在“Messages Make”部分中,我每次尝试在“MyAbstractActivity”中强制转换“getActvity()”时都能看到这个:

java: inconvertible types
required: com.myapps.abstracts.MyAbstractActivity
found: android.support.v4.app.FragmentActivity

解决方法:

好了,我很伤心地说,但我终于下载了Eclipse,进口我的项目,并解决我的问题,使用Eclipse的错误消息.
它告诉我“修复项目属性”,我点击了,它做了一切在他身边,我试图启动应用程序,它工作.
现在问题已经解决了,当我回到Android Studio时,它也可以工作……但是,目前,我认为我将继续使用Eclipse …太多的时间都没有丢失.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐