1. Build Output输出乱码

在这里插入图片描述解决方法
Step1:右上角搜索框(快捷键为两次shift),输入 edit custom vm options,点击第一个后选择创建
在这里插入图片描述Step2:添加一行配置-Dfile.encoding=UTF-8
在这里插入图片描述Step3:重启AndroidStudio

2. 错误:不兼容的类型:Fragment1无法转换为Fragment

MainActivity.java

import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.e("Main","onCreate");

        if(getResources().getConfiguration().orientation== Configuration.ORIENTATION_LANDSCAPE){
            Fragment1 fragment1 = new Fragment1();
            getFragmentManager().beginTransaction().replace(R.id.main_layout,fragment1).commit();
        }
        else{
            Fragment2 fragment2 = new Fragment2();
            getFragmentManager().beginTransaction().replace(R.id.main_layout,fragment2).commit();
        }
    }
}

Fragment1.java

import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;

public class Fragment1 extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater,  ViewGroup container,  Bundle savedInstanceState) {
        Log.e("Fragment1","onCreateView");
        return inflater.inflate(R.layout.fragment_1,container,false);
    }
}

错误原因:MainActivity与Fragment1、Fragment2中导入的包不一致

解决方法:更换Fragment1中的包

import android.app.Fragment;//更改为这个包后与MainActivity.java的一致
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
//import androidx.fragment.app.Fragment;原本Fragment1中导入的包
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐