救救孩子吧,AS移动端的项目闪退让我茶饭不思,夜不能寐

本人是刚进实验室的研一小朋友,应导师的要求和实验室的其他研一同学一起做一个项目,我负责移动端,为了加快项目进度,导师让我在实验室师姐之前的一个项目的基础上直接进行开发,本来一切都有条不紊的进行着,期间也碰到过一些问题,好在很多这类的问题前人都碰到,于是借鉴前人的经验,这些问题也都迎刃而解了,可是大约一周前,我刚把基本的代码写完,准备进行真机调试,麻烦来了


app出现了闪退问题,我用logcat获取到错误的信息,如上图所示,于是就根据信息在网上找类似的问题,找了几天结果网上没有这类的问题,后来只能问师姐,但安卓开发更新迭代比较快,之前师姐用的都是support V4,V7之类的包,而现在都是用androidx包,因此不熟悉用法的情况下师姐也暂时没有头绪,万般无奈之下,只得在网上发帖,希望能有安卓大手子能花上一点点时间帮小朋友解决一下这个问题。
最后附上两个Activity的部分代码:

public class MainActivity extends BaseActivity implements TabLayout.OnTabSelectedListener, IMutualListener {

    private ViewPager mViewPager ;
    private TabLayout mTabLayout ;
    private View tabView = null;
    private List<String> mTabList = new ArrayList<>();
    private MainFragmentAdapter mFragmentAdapter;
    private List<Fragment> mFragments = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mViewPager = findViewById(R.id.home_ViewPager);
        mTabLayout = findViewById(R.id.tab_layout);

    }

    private int[] tabIcons = {
            R.mipmap.selector_home_normal,
            R.mipmap.selector_alarm_normal,
            R.mipmap.selector_mine_normal,
            R.mipmap.selector_more_normal,
    };
    private int[] tabIconsPressed = {
            R.mipmap.selector_home_pressed,
            R.mipmap.selector_alarm_pressed,
            R.mipmap.selector_mine_pressed,
            R.mipmap.selector_more_pressed,
    };

    @Override
    public int getContentViewId(){
        return R.layout.activity_main;
    }

    @Override
    public void initViews() {
        receiveAdDownload();
        initFragmentList();
        initFragments();
        initLabeView();
    }

    private void initLabeView() {
        initBadgeViews();
    }

    private void initBadgeViews() {

    }

    private void initTabList(){
        mTabList.clear();
        mTabList.add(MyApplication.getAppResources().getString(R.string.home));
        mTabList.add(MyApplication.getAppResources().getString(R.string.alarm));
        mTabList.add(MyApplication.getAppResources().getString(R.string.mine));
        mTabList.add(MyApplication.getAppResources().getString(R.string.more));
    }

    private void initFragmentList(){
        mFragments.clear();
        mFragments.add(HomeFragment.getInstance(MyApplication.getAppResources().getString(R.string.home)));
        mFragments.add(AlarmFragment.getInstance(MyApplication.getAppResources().getString(R.string.alarm)));
        mFragments.add(MineFragment.getInstance(MyApplication.getAppResources().getString(R.string.mine)));
        mFragments.add(MineFragment.getInstance(MyApplication.getAppResources().getString(R.string.more)));
    }

    private void initFragments() {
        initTabList();
        mFragmentAdapter = new MainFragmentAdapter(getSupportFragmentManager(), mTabList, getApplicationContext(), mFragments);
        mViewPager.setAdapter(mFragmentAdapter);
        mViewPager.setCurrentItem(0);
        mTabLayout.setupWithViewPager(mViewPager);
        mTabLayout.setTabMode(TabLayout.MODE_FIXED);
        mTabLayout.addOnTabSelectedListener(this);

        mTabLayout.getTabAt(0).setCustomView(getTabView(0));
        mTabLayout.getTabAt(1).setCustomView(getTabView(1));
        mTabLayout.getTabAt(2).setCustomView(getTabView(2));
        mTabLayout.getTabAt(3).setCustomView(getTabView(3));
    }

public abstract class BaseActivity<P extends BasePresenter> extends AppCompatActivity implements UIInitA {

    protected P mPresenter;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (null != onCreatePresenter()){
            mPresenter =onCreatePresenter();
        }
        AppManager.newInstance().addActivivty(this);
        setContentView(getContentViewId());
        initViews();
        addListener();
        initData();
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值