小编Adi*_*hya的帖子

安卓设置界面

我正在寻找类似于系统 android 的设置 UI 的东西。我想在应用程序启动时使用一些复选框首选项、开关首选项、edittextpreferences 之类的东西,然后当用户选择一个首选项时打开一个片段,但我无法弄清楚。

我已经提到了设置指南,但它坚持使用首选项标题。在显示标题时,我面临着显示文本的不太可能的开销,而这些文本又会加载片段。

例如,

我的首选项标题类似于:

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- These settings headers are only used on tablets. -->

    <header
        android:fragment="${packageName}.${activityClass}$GeneralPreferenceFragment"
        android:title="@string/pref_header_general" />
    <header
        android:fragment="${packageName}.${activityClass}$NotificationPreferenceFragment"
        android:title="@string/pref_header_notifications" />
    <header
        android:fragment="${packageName}.${activityClass}$DataSyncPreferenceFragment"
        android:title="@string/pref_header_data_sync" />

</preference-headers>
Run Code Online (Sandbox Code Playgroud)

只是为了加载实际数据,我不得不使用它。实际数据将有复选框和编辑文本。

如果有人对此提供一些见解,那就太好了。如果我可以在加载屏幕时启动实际的片段数据,那将会有很大帮助。如果我可以控制在选择片段项目时调用哪个片段并调用其他片段,那就更好了。

android android-preferences android-fragments android-fragmentactivity

2
推荐指数
1
解决办法
2647
查看次数

使用collect时的并发数据结构和并行流

在通过以下答案讨论在流中使用并发数据结构以及使用并发映射和转换为映射之间的不同之后,有人可以解释如果我使用collectie 的其他语法将会发生什么

    Stream<Integer> integers = Stream.iterate(1, n -> n + 1).parallel(); 
    Map<Integer, Boolean> resultMap = integers
                                        .limit(1000)
                                        .collect(HashMap::new,
                                                (map, value) -> map.put(value, false),
                                                HashMap::putAll);
Run Code Online (Sandbox Code Playgroud)

根据文档,将根据生成的线程数调用供应商.如果我使用ConcurrentHashMap而不是HashMap

当并行执行时,可以实例化,填充和合并多个中间结果,以便保持可变数据结构的隔离.因此,即使与非线程安全数据结构(例如ArrayList)并行执行,也不需要额外的同步来进行并行缩减.

lambda java-8 java-stream

2
推荐指数
1
解决办法
151
查看次数

Proguard NoSuchMethodError ITelephony

我的代码工作正常,但在应用proguard后,我得到以下异常

05-04 16:12:00.803:E/AndroidRuntime(22257):java.lang.NoSuchMethodError:com.android.internal.telephony.ITelephony.a

我有Itelephony.aidl但仍然得到错误.任何人都可以告诉我是否有办法解决这个问题?

在谷歌上,我无法获得有关如何保持接口,接口成员和内部类以及内部类成员的示例的更多信息.

实际上我想保留我的应用程序中的所有内容,但只是暗示和优化它.有没有办法实现它?

android proguard

1
推荐指数
1
解决办法
896
查看次数

在Java中降低有界通配符

考虑以下示例,

List<? super Number> list1 = new ArrayList<>();
list1.add(10);
list1.add(10.10);
list1.add(20.20d);
Run Code Online (Sandbox Code Playgroud)

和另一个我分配list1的列表

List<? super Integer> list = list1;
System.out.println(list.toString());
Run Code Online (Sandbox Code Playgroud)

现在,当我打印列表时,它包含双精度值,但是列表只能保存整数和整数以上的任何值.

如果以上是好的,那么下面的编译也不应该这样吗?

list.add(30.30);
Run Code Online (Sandbox Code Playgroud)

java generics wildcard

1
推荐指数
1
解决办法
97
查看次数