Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
片段错误:类型不兼容,需要android.app.Fragment,但找到activity.messagefragment_Android_Android Fragments - Fatal编程技术网

片段错误:类型不兼容,需要android.app.Fragment,但找到activity.messagefragment

片段错误:类型不兼容,需要android.app.Fragment,但找到activity.messagefragment,android,android-fragments,Android,Android Fragments,打印的错误为: @Override public void onDrawerItemSelected(View view, int position) { displayView(position); } private void displayView(int position) { Fragment fragment = null; String title = getString(R.string.app_name); switch (position)

打印的错误为:

 @Override
public void onDrawerItemSelected(View view, int position) {
    displayView(position);
}

private void displayView(int position) {
    Fragment fragment = null;
    String title = getString(R.string.app_name);
    switch (position) {
        case 0:
            fragment = new HomeFragment();
            title = getString(R.string.title_home);
            break;
        case 1:
            fragment = new FriendsFragment();
            title = getString(R.string.title_friends);
            break;
        case 2:
            fragment = new MessageFragment();
            title = getString(R.string.title_messages);
            break;
        default:
            break;
    }

您可能包含了错误的类,请检查您的导入语句

你应该把这个放在里面:

incompatible types,required android.app.fragment but found activity.messagefragment

检查fragment和view的导入必须是相同的
android.app.fragment

您需要返回一个
android.app.fragment
类的对象,但您没有像案例2那样返回
android.app.fragment
。您应该在需要导入的
MessageFragment
类中扩展
android.app.Fragment
中的
MessageFragment

import android.app.Fragment;
而不是

import android.app.Fragment;

转到您遇到问题的tab.class并更改import android.app.Fragment;导入android.support.v4.app.Fragment


它将运行。

检查所有片段java类的导入,并确保它们都具有

导入android.app.Fragment

而不是

导入android.support.v4.app.Fragment


它解决了问题。

您的
活动必须从
AppCompatActivity
扩展,然后您使用
getSupportFragmentManager
调用您的片段,这应该可以做到

事情是这样的:

import android.support.v4.app.Fragment;

你可以用两种方法来解决它

1-在messagefragment类中,需要导入

import android.app.Fragment;
导入android.app.Fragment; 而不是

导入android.support.v4.app.Fragment

2-你可以像…一样反转它。。。 在messagefragment中,删除导入android.app.Fragment


导入android.support.v4.app.Fragment

这是正确的,如果OP希望避免出现
必需的android.app.Fragment
错误消息,则有必要将
android.support.v4.app.Fragment
替换为
android.app.Fragment