我有一个带有ViewPager的简单片段.
我正在使用最新的支持库,v4 rev18!
如果我第一次显示子片段,一切正常,如果我返回并再次显示它,应用程序崩溃时出现以下异常:
我有一个完整的例子显示,当发生以下异常时:
java.lang.NullPointerException
at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:569)
at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211)
at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1281)
at android.view.View.dispatchRestoreInstanceState(View.java:12043)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2688)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2694)
at android.view.View.restoreHierarchyState(View.java:12021)
at android.support.v4.app.Fragment.restoreViewState(Fragment.java:425)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:949)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:440)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4800)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我能够以其他方式在子片段中使用ViewPager,但如果我手动添加/删除子片段并在子片段中使用FragmentStatePagerAdapter,我就无法使用它...
以下示例应该可以工作,但它没有...我已经添加了一些解决了一些问题的代码,但它并没有解决所有问题......
import java.lang.reflect.Field;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.TextView; …Run Code Online (Sandbox Code Playgroud) android android-fragments android-viewpager android-support-library fragmentmanager
这里的Firestore解释了我如何使用简单的类直接将它们与firestore一起使用:https://firebase.google.com/docs/firestore/manage-data/add-data
如何将字段标记为已排除?
data class Parent(var name: String? = null) {
// don't save this field directly
var questions: ArrayList<String> = ArrayList()
}
Run Code Online (Sandbox Code Playgroud) 第一个问题是,greenDao何时为实体生成删除功能?调用entity.delete()和之间的区别是session.getEntityDao.delete(entity)什么?
其次,如果我删除父母与父母有ToOne关系的子实体,我必须自己删除孩子,不是吗?实际上没有自动依赖"清理",是吗?
我想生成一个签名的apk并得到以下错误:
Error:(65) Error: "..." is not translated in "en" (English) [MissingTranslation]
Run Code Online (Sandbox Code Playgroud)
我的项目只包含默认文件夹(没有语言的插件),例如values文件夹和ONE语言,这是德语(意思是,我有一个values-de文件夹)
我的默认语言是英语,因此所有不属于特殊语言的资源都应该是英语.
质询
android工作室为什么告诉我,它缺少en语言,虽然我没有单个文件夹?也许en-folder是gradle导入的一部分?我可以以某种方式排除它们吗?实际上,我不知道en它来自哪里,因为我不在任何地方使用它......
例
我只有values和values-de文件夹!
在values我有以下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="pause_alarms">
<item>Silent</item>
<item>Vibrate</item>
<item>Sound</item>
<item>Vibrate + Sound</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
在values-de我有以下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="pause_alarms">
<item>Leise</item>
<item>Vibrieren</item>
<item>Ton</item>
<item>Vibrieren + Ton</item>
</string-array>
</resources>
Run Code Online (Sandbox Code Playgroud) 我想在a上使用反弹效果 RecyclerView.每当我过度滚动内容时都会产生反弹效果......
是否存在库或示例?
我想动画我RecyclerView的变化GridLayoutManager.我默认显示一个包含3列的网格中的项目列表,用户可以选择显示更多或更少的列.
我想views在RecyclerView移动/规模的新位置,但我不知道怎么可以这样做.
我到底想要什么
LayoutManager有谁知道我如何动画变化LayoutManager?
无论如何从图像中删除exif缩略图?
我在我的应用程序中裁剪图像并使用sanselan库复制所有exif数据无损.然后,我相应地更新宽度/高度/旋转.
我找不到任何方法来更新exif缩略图或删除它,任何想法如何做到这一点?
有没有办法实现以下目标:
我有3个类型的观察者Observable<MyData>.我想要的是:
onCompleted第一个观察者onCompleted第二个可观测量onCompleted第三个可观测量这可以用,concat但我只能观察到最后一次onCompleted.
难看的解决方案
我知道,我可以实现这一目标,如果我onCompleted从前一个事件中开始下一个可以理解的话.
题
即使使用任意数量的可观察量,还有其他方法可以实现这一点吗?我想避免从onCompleted事件中将这一切联系在一起,因为这看起来非常丑陋,链接越深,它就越不清楚......
编辑 - UseCase
我想不断更新UI,我想知道,每个级别的数据加载完成
为什么微调器在滚动时跳动?我只是在做以下事情:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(v.getContext(), layout, textViewId, new ArrayList<String>());
adapter.setDropDownViewResource(layoutDropdown);
adapter.addAll(<DATA>);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(listener);
Run Code Online (Sandbox Code Playgroud)
只要下拉列表很小,一切都可以正常工作,但是如果它变大并且可以滚动,我会看到它在滚动时会跳来跳去。为什么?
我在滚动时没有更改选择内容或数据,因此令我惊讶的是,这种设置如此简单。任何想法如何解决这个问题?
在我的项目中,我在核心模块中定义了许多字符串。升级到 gradle 8 后,我发现我现在需要引用 R 文件。
例如,如果我在核心模块中定义一个字符串并希望从主模块访问它(主模块当然包括核心模块),我会看到以下行为:
前
com.my.package.main.R我可以通过和从主模块内的核心模块访问字符串(以及所有其他资源)com.my.package.core.R
后
现在我只能再从确切的模块访问字符串,所以我需要com.my.package.core.R在主模块内部使用从核心模块访问字符串......
com.google.android.material.R对于来自和 的属性也会发生同样的情况androidx.appcompat...
我错过了迁移步骤吗?或者这真的应该是这样吗?