当前位置: 首页 > 知识库问答 >
问题:

设置id根视图崩溃android应用程序

顾喜
2023-03-14

作为快速可视化,这是我的布局:

<android.support.design.widget.CoordinatorLayout xmlns:android="html" target="_blank">http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main_root_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="me.smac89.sample.MainActivity">

    <android.support.v4.view.ViewPager
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="@dimen/cards_margin"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>

当我为Coordinator布局设置一个ID(android:ID=“)时,应用程序在启动时崩溃,但是删除ID可以让它正常运行。怎么回事?为什么为根视图设置ID会导致应用程序崩溃?

我见过有人用这个findViewById(android.R.id.content)来获取根视图;这是获得rootview的唯一方法吗?

崩溃日志

07-06 18:30:42.253 9385-9385/me。smac89.deloittepixel E/AndroidRuntime:致命异常:主进程:me。smac89.deloittepixel,PID:9385 java。lang.RuntimeException:无法启动活动组件信息{me.smac89.sample/me.smac89.sample.MainActivity}:java。lang.ClassCastException:android。支持设计小装置。CoordinatorLayout不能转换为android。应用程序。android上的活动。应用程序。活动线程。android上的performLaunchActivity(ActivityThread.java:2416)。应用程序。活动线程。android上的handleLaunchActivity(ActivityThread.java:2476)。应用程序。活动线程-android上的wrap11(ActivityThread.java)。应用程序。android上的ActivityThread$H.handleMessage(ActivityThread.java:1344)。操作系统。处理程序。android上的dispatchMessage(Handler.java:102)。操作系统。活套。android上的loop(Looper.java:148)。应用程序。活动线程。java上的main(ActivityThread.java:5417)。郎。反思。方法在com上调用(本机方法)。Android内部的操作系统。ZygoteInit$MethodandArgscaler。在com上运行(ZygoteInit.java:726)。Android内部的操作系统。合子岩。主要(ZygoteInit.java:616)原因:java。lang.ClassCastException:android。支持设计小装置。CoordinatorLayout不能转换为android。应用程序。巴特奈夫的活动。内部的Finder 2美元。butterknife的getContext(Finder.java:34)。内部的查找器。butterknife上的getResourceEntryName(Finder.java:131)。内部的查找器。FindRequiredViewaType(Finder.java:86)在我面前。smac89.样本。MainActivity$$ViewBinder$InnerUnbinder。(MainActivity$$ViewBinder.java:32)在我身上。smac89.样本。MainActivity$$ViewBinder。绑定(MainActivity$$ViewBinder.java:20)。smac89.样本。MainActivity$$ViewBinder。在butterknife绑定(MainActivity$$ViewBinder.java:17)。黄油刀。bind(ButterKnife.java:122)对着我。smac89.样本。主要活动。android上的onCreate(MainActivity.java:50)。应用程序。活动android上的performCreate(Activity.java:6237)。应用程序。仪表。android上的callActivityOnCreate(Instrumentation.java:1107)。应用程序。活动线程。android上的performLaunchActivity(ActivityThread.java:2369)。应用程序。活动线程。handleLaunchActivity(ActivityThread.java:2476)

主要活动。Java语言

public class MainActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener {

    public static final String TAG = MainActivity.class.getName();

    @BindView(R.id.main_content)
    ViewPager viewPager;

    @BindView(R.id.main_tab_spinner)
    Spinner spinner;

    @BindView(R.id.main_tab)
    TabLayout tabLayout;

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

        setKeyAndSecret();
        ButterKnife.bind(this);
        spinner.setAdapter(new SpinnerDummyAdapter(this));

        initTabs();
        viewPager.addOnPageChangeListener(this);
    }
    ...
}

共有1个答案

李弘光
2023-03-14

我有一个类似的问题,并解决了它:构建

 类似资料:
  • 问题内容: 编辑: 看来我的按钮样式引起了问题。 编辑代码 出于某些原因,以上代码适用于4.2及更高版本。 将其放在这里供将来的人们使用。 当我尝试将方法调用到 布局 时,我的应用程序崩溃了。 我尝试了一些解决方案,当我删除按钮样式时,错误消失了。 看来我在按钮上使用的样式是造成这种情况的原因。 我的LogCat 问题答案: 从logcat出现的问题是Button的背景。我认为这是一个很大的形象,

  • 我是Android的新手,正在开发我的第一个应用程序。我的主要活动(登录活动)没有操作栏,其余所有活动都有操作栏。当我长时间按下编辑文本时,应用程序会与下面提到的logcat崩溃。我无法找出导致此错误的原因。请帮我找到它。 主要活动.java activity_main.xml

  • 在以前的代码上,谁医生帮了我 现在,android应用程序在我的手机上运行时崩溃了,这是错误日志 第一个问题是在我用相机扫描二维码后,它不能显示在二维码的结果进入 第二个问题是,我从存储器中选择了一个QRcode图像,然后点击确认,它崩溃了 下面是我认为的问题 类型不匹配:推断的类型是Uri?但乌里是意料之中的 冗余SAM构造函数 'onRequestPermissionsResult(Int,数

  • 我有一个EditText,当我将它设置为空并点击按钮时,我的应用程序崩溃了。 当我在Android Monitor中查看它时,它指向一行: 这是我的代码: 线性布局 我的Java代码:

  • 我正在尝试将图像添加到我新创建的应用程序中。但是,当我运行我的应用程序时,它会崩溃。我没有在我的应用程序中编写任何代码,因此我提供了XML代码和错误日志。我在以前的应用程序中使用了ImageViews。没有错误。我已经优化了我的图像,但它仍然给我错误。 图像详细信息 错误日志: 09-08 16:03:02.266 15137-15137/ooper.loopE/AndroidRuntime: F