我正在使用Android API级别为21的普通手机上测试和开发应用程序。每个视图都按照应有的方式运行,并且没有任何问题。
但是,当切换到使用API 16的旧设备时,片段的某些特定视图不可见。当离开片段并返回相同的片段时,它将显示。
因此,例如,我打开应用程序并创建开始片段。加载并显示图像按钮,应显示在其下的文本保持隐藏状态。 < - 不知道为什么
离开该片段并返回后,按钮DO下方的文字出现。
这种情况发生在许多其他碎片上,我不知道这实际上是如何发生的,它也是不一致的..
这是我谈到的具体部分:
<?xml version="1.0" encoding="UTF-8"?>
...
<Material>
<Name><Beige>1</Name>
<Color>#d3bd90</Color>
</Material>
它的外观基本表示:
我只是设置文本,基本的Android内容..
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/dashboard_shortcut_timetable"
android:paddingBottom="10dp"
android:layout_weight="0.3">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/dashboard_shortcut_1"
android:src="@drawable/ic_shortcut"
android:background="@color/bg_white"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/dashboard_shortcut_timetable"
android:id="@+id/dashboard_shortcut_textview_1"
android:gravity="center|bottom"/>
所以这种情况发生在其他视图以及一些菜单项中,我必须将LATER设置为不可见/可见才能使其正常工作。
我的问题是;为什么会发生这种情况,如何解决,是依赖于设备或API级别?
答案 0 :(得分:0)
对于有同样问题的人,我找到了解决问题的方法;
显然必须启用multidex,因为我已经习惯了很多方法/库。太糟糕了,logcat没有给我任何迹象表明这种情况正在发生,这导致了这个问题。
这个多指数是什么? Read here
如何启用multidex支持?
在build.gradle
android {
...
defaultConfig {
...
multiDexEnabled true
}
}
dependencies {
...
compile 'com.android.support:multidex:1.0.1'
...
}
为了向后兼容,请在主应用程序中添加:
@Override
protected void attachBaseContext(Context base)
{
super.attachBaseContext(base);
MultiDex.install(this);
}