跟着视频敲 闪退了

跟着视频敲 闪退了

到下面这一步闪退
class MainActivity : ProxyActivity(){
   override fun setRootFragment(): MallFragment {
      return TestFragment()
   }
}

这里xml 跟视频有区别 视频是V7  我使用androidx

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
   <androidx.appcompat.widget.AppCompatTextView
       android:text="这是测试底部flagment"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content">

   </androidx.appcompat.widget.AppCompatTextView>
</androidx.appcompat.widget.LinearLayoutCompat>

闪退问题点:

    Process: com.example.mailkotlin, PID: 14737
    java.lang.ClassCastException: com.example.mailkotlin.MainActivity cannot be cast to me.yokeyword.fragmentation.SupportActivity
        at me.yokeyword.fragmentation.SupportFragment.onAttach(SupportFragment.java:41)

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
我要占用你的昵称 2020-03-09 19:22:30

我一创建项目就是使用的androidx 没有使用V7,所以直接就出现闪退的现象了

看他们给的资料,也更改了,但还是不行,请问你的这个问题解决了吗  如果解决了,具体的解决方式是什么呢

幕布斯8554327 2020-02-28 18:06:24

在安卓x包下,也可以实现此功能。

  • 需要实现方法的,可以私信我。
    2020-02-28 18:14:38
提问者 慕沐4796115 2019-12-02 10:50:38
  • 建议把androidX换成了v7包吧
    2019-12-02 15:15:40
  • 提问者 慕沐4796115 回复 irista23 #2
    这样啊,现在不都是最新androidx兼容开发吗,又搞回去,后面不是更麻烦。很多都不兼容
    2019-12-02 15:37:11
  • irista23 回复 提问者 慕沐4796115 #3
    androidx的话会有一大半的库冲突,要一一解决,建议你用support跟老师学习下电商开发思想和技术细节。
    2019-12-02 16:01:07
irista23 2019-12-02 10:29:23

你继承了ProxyActivity,在ProxyActivity类中是用了support包的,你可以对比下源码,把这个地方换成androidx的

http://img1.sycdn.imooc.com//climg/5de4768509a4724105510521.jpg

  • 提问者 慕沐4796115 #1
    package com.mall.library.activities import android.os.Bundle import android.widget.FrameLayout import androidx.appcompat.app.AppCompatActivity import com.example.malllibrary.R import com.example.malllibrary.fragments.MallFragment import me.yokeyword.fragmentation.ExtraTransaction import me.yokeyword.fragmentation.ISupportActivity import me.yokeyword.fragmentation.SupportActivityDelegate import me.yokeyword.fragmentation.anim.DefaultHorizontalAnimator import me.yokeyword.fragmentation.anim.FragmentAnimator abstract class ProxyActivity : AppCompatActivity(), ISupportActivity {
    2019-12-02 10:30:16
  • 提问者 慕沐4796115 #2
    我这里回复好像不能截图吗
    2019-12-02 10:33:38
  • 提问者 慕沐4796115 #3
    你好有截图咯,这个一直是这个androidX包的 没改,没用。
    2019-12-02 10:54:14
irista23 2019-12-02 09:23:24

androidx导入下面包:

androidx.appcompat.app.AppCompatActivity;

其他例如fragment正确导入可以参考:

https://www.jianshu.com/p/7dc111353328

  • 提问者 慕沐4796115 #1
    androidx导入下面包: androidx.appcompat.app.AppCompatActivity; 这句话是什么意思哦?androidx不是已经自带这个了吗
    2019-12-02 09:41:43
  • irista23 回复 提问者 慕沐4796115 #2
    如果你用的androidx,那么support下的所有引用都要迁移到androidx下,你看代码中是否引用了android.support.v7.app.AppCompatActivity,用了的话参照我上面的方法修改下
    2019-12-02 09:50:03
  • 提问者 慕沐4796115 #3
    android.support.v7.app.AppCompatActivity 没有引用这个我看第三方框架也都引用了androidx.appcompat.app.AppCompatActivity; gitub提到 用androidx 引入下面这个 api 'me.yokeyword:fragmentationx:1.0.2'
    2019-12-02 09:57:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师