小编Mak*_*iev的帖子

如何将样式应用到我拥有的所有TextViews?

可能重复:为
所有TextView(或自定义视图)设置样式,而不将style属性添加到每个TextView

TextView我的应用程序中有很多s.它们有各种各样的字体大小,颜色等等.我需要应用它们android:shadowColorandroid:shadowRadius让它们全部带有阴影.怎么做?

例如,我可以为TextView具有必要属性的s 制作样式

<style name="text_views">
    <item name="android:shadowColor">@color/tv_shadow</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">0.7</item>
</style>
Run Code Online (Sandbox Code Playgroud)

并将其应用于每个TextView.是否可以将阴影的属性包含在应用程序的主题中?

android themes textview

5
推荐指数
2
解决办法
2万
查看次数

sqlite3:没有这样的文件或目录

我下载了 ADT Bundle,但现在无法sqlite从该tools目录运行。

red-planet@desktop:~/Adt-bundle/sdk/tools$ ls 
adb_has_moved.txt  ddms            emulator64-mips  etc1tool         lint          proguard           templates
android            dmtracedump     emulator64-x86   hierarchyviewer  mksdcard      source.properties  traceview
ant                draw9patch      emulator-arm     hprof-conv       monitor       sqlite3            uiautomatorviewer
apkbuilder         emulator        emulator-mips    jobb             monkeyrunner  support            zipalign
apps               emulator64-arm  emulator-x86     lib              NOTICE.txt    systrace
red-planet@desktop:~/Adt-bundle/sdk/tools$ sqlite3 
bash: /home/red-planet/Adt-bundle/sdk/tools/sqlite3: No such file or directory
red-planet@desktop:~/Adt-bundle/sdk/tools$ 
Run Code Online (Sandbox Code Playgroud)

sqlite android-sdk-tools

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

Python 中的枚举和属性

我是一名 Java 开发人员,但现在正在开发一个 Python 项目。是否可以编写一个其构造函数具有属性的枚举?

我会用Java这样做。

public class Main {

    private enum Planet {
        MERCURY(3.303e+23, 2.4397e6),
        VENUS(4.869e+24, 6.0518e6),
        EARTH(5.976e+24, 6.37814e6),
        MARS(6.421e+23, 3.3972e6),
        JUPITER(1.9e+27, 7.1492e7),
        SATURN(5.688e+26, 6.0268e7),
        URANUS(8.686e+25, 2.5559e7),
        NEPTUNE(1.024e+26, 2.4746e7);

        private final double mass; // in kilograms
        private final double radius; // in meters

        Planet(double mass, double radius) {
            this.mass = mass;
            this.radius = radius;
        }

        @Override
        public String toString() {
            return super.toString() + " radius: " + radius + ", mass: " + mass;
        }
    }

    public static void …
Run Code Online (Sandbox Code Playgroud)

python java parameters enums constructor

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

按“重置应用程序首选项”后,我的应用程序的所有权限都被撤消

我开发了一个应用程序并支持Android 6.0。当我在“设置”->“应用程序”->“重置应用程序首选项”中重置应用程序首选项时,我的应用程序的所有权限都被吊销,并且该应用程序未重新启动。撤消其权限后无法重新启动该应用程序可能会导致许多意外崩溃。

我应该如何处理这种情况?

当我手动撤消其权限(设置->应用程序->我的应用程序->权限)时,该应用程序将重新启动。

permissions android android-permissions android-6.0-marshmallow

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

使用Intent.ACTION_PICK时是否可以排除SIM卡联系人?

我需要在我的应用中选择联系人,并希望排除存储在我的SIM卡中的联系人.有可能ACTION_PICK吗?

android android-intent android-contacts

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

在构建我的应用程序的发布版本时,我应该保留android.support.v4.app.Fragment及其派生类吗?

我读了这个答案并且不知道为什么我应该保留我的服务,活动和自定义视图的名称.但是我应该保留从android.support.v4.app.Fragment派生的类吗?

我还看了一下defualt Proguard配置文件 %SDK_DIR%\sdk\tools\proguard\proguard-android.txt,并没有关于片段的规则.

obfuscation android proguard

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

检查 TextView 的文本是否与 Android Espresso 完全显示

在 Espresso 中,可以检查视图是否显示:

onView(withText("To create a test configuration in Android Studio, complete the following steps")).check(matches(isDisplayed()));
Run Code Online (Sandbox Code Playgroud)

但是我需要检查的是我的文本TextView是否完全显示(不是它TextView本身)。这是我的 XML 布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="0dp"
        android:layout_height="256dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:background="#fca"
        android:textSize="48sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

如果文本TextView为“To create a test configuration in Android Studio,请完成以下步骤”,则未完全显示:

在此处输入图片说明

如果文本较短,我会看到所有内容:

在此处输入图片说明

TextViewa 放入ScrollView不是一种选择。 自动调整 TextViews也不是一个选项。

当然,我可以使用 Android Studio 中 XML 布局编辑器的预览视图更改文本并确保它完全显示。但是如果我有 6 个语言环境、9 个模拟器和 5 个屏幕要检查呢?6 * 9 * 5 = 270 …

android textview android-layout android-espresso

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

使用优先级队列的排序列表列表的迭代器

我在这里找到了以下面试问题.

SortedIterator - 由每个列表中具有排序的int值的列表列表组成.调用next()时,您必须给出下一个排序值.

必须实现方法*constructor*next()*hasNext()

[[1,4,5,8,9],[3,4,4,6],[0,2,8]]

next() - > 0,1,2,3,4,4,4 ......

我在Java中编写了一个快速实现:

package com.app;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class SortedIterator implements Iterator<Integer> {

    private final List<Integer> mFlattenedList;
    private final Iterator<Integer> mIntegerIterator;

    SortedIterator(final List<List<Integer>> lists) {
        mFlattenedList = flattenLists(lists);
        mIntegerIterator = mFlattenedList.iterator();
    }

    private List<Integer> flattenLists(final List<List<Integer>> lists) {
        final List<Integer> result = new ArrayList<>();
        for (List<Integer> list : lists) {
            for (int value : list) {
                result.add(value);
            }
        }
        Collections.sort(result);
        return result; …
Run Code Online (Sandbox Code Playgroud)

java algorithm priority-queue data-structures

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

使用getStringSet和putStringSet丢失一些值

我发现Set重新启动应用程序后存储了一些值丢失.为什么?这是一个Android API错误吗?有人建议将字符串存储在数据库中.我还没有测试过,但我认为这个建议是问题的解决方案.怎么样getStringSetputStringSet

android sharedpreferences

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

使用ExecutorService时不调用Thread.interrupt

MyThread.interrupt()当我取消当前正在执行的任务时,我需要被调用.为什么不是公共类主要{

public static void main(String[] args) {
    ExecutorService executor = Executors.newFixedThreadPool(10);
    List<MyThread> threads = new ArrayList<Main.MyThread>();

    List<Future> futureList = new ArrayList<Future>();
    for (int i = 0; i < 30; i++) {
        MyThread myThread = new MyThread(i);
        futureList.add(executor.submit(myThread));
        threads.add(myThread);
    }
    for (Future future : futureList) {
        if (future != null) {
            future.cancel(true);
        }
    }

    // Calling interrupt directly. It works
    for (MyThread myThread : threads) {
        myThread.interrupt();
    }
    shutdownAndAwaitTermination(executor);

}

static void shutdownAndAwaitTermination(ExecutorService pool) {
    pool.shutdown(); // Disable new tasks …
Run Code Online (Sandbox Code Playgroud)

java multithreading interrupt threadpool

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