小编Pau*_*sma的帖子

如何更改textview超链接的颜色?

我正在使用此代码进行超链接:

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/hyperlink" 
    android:text="@string/hyperlink"
    android:autoLink="web"/>
Run Code Online (Sandbox Code Playgroud)

默认情况下它显示蓝色,但如何在Android中更改超链接的颜色?

android android-layout

257
推荐指数
6
解决办法
8万
查看次数

在Google地图上绘制线条/路径

我已经忙了很长时间了解如何在HelloMapView中在地图上的两个(GPS)点之间画一条线,但没有运气.

有人可以告诉我该怎么做.

假设我使用扩展MapView的HelloMapView.我需要使用叠加层吗?如果是这样,我必须重写覆盖的onDraw()方法并在这里画一条线?我实际上尝试过这些东西,但没有结果.

先感谢您!

android google-maps overlay draw android-mapview

108
推荐指数
6
解决办法
14万
查看次数

停止LastPass填写表格

有没有办法阻止LastPass浏览器扩展插入一个名为"username"的输入字段的基于HTML的表单?

这是一个隐藏的字段,因此我不希望任何软件将此字段用于其目的:

<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
Run Code Online (Sandbox Code Playgroud)

解决方案不应该像"重命名输入字段".

html forms lastpass

106
推荐指数
10
解决办法
3万
查看次数

Viola-Jones的脸部检测声称拥有180k功能

我一直在实施Viola-Jones的人脸检测算法.该技术依赖于在图像内放置24×24像素的子帧,并且随后在每个位置中将矩形特征放置在每个位置中,并且每种尺寸都可能.

这些特征可以包括两个,三个或四个矩形.提供以下示例.

矩形功能

他们声称详尽的集合超过180k(第2部分):

鉴于探测器的基本分辨率为24x24,详尽的矩形特征集非常大,超过180,000.请注意,与Haar基础不同,矩形特征集是过度完整的.

本文未明确说明以下陈述,因此它们是我的假设:

  1. 只有2个双矩形特征,2个三矩形特征和1个四矩形特征.这背后的逻辑是我们正在观察突出显示的矩形之间的差异,而不是明确的颜色或亮度或那种类型的任何东西.
  2. 我们不能将特征类型A定义为1x1像素块; 它必须至少至少1x2像素.此外,类型D必须至少为2x2像素,并且此规则相应地适用于其他功能.
  3. 我们不能将特征类型A定义为1×3像素块,因为中间像素不能被分割,并且从其自身减去它与1×2像素块相同; 此要素类型仅针对偶数宽度定义.此外,要素类型C的宽度必须可以被3整除,并且此规则相应地适用于其他要素.
  4. 我们无法定义宽度和/或高度为0 的要素.因此,我们将xy迭代为24减去要素的大小.

基于这些假设,我计算了详尽的集合:

const int frameSize = 24;
const int features = 5;
// All five feature types:
const int feature[features][2] = {{2,1}, {1,2}, {3,1}, {1,3}, {2,2}};

int count = 0;
// Each feature:
for (int i = 0; i < features; i++) {
    int sizeX = feature[i][0];
    int sizeY = feature[i][1];
    // Each position:
    for (int x = 0; x <= …
Run Code Online (Sandbox Code Playgroud)

algorithm image-processing computer-vision face-detection viola-jones

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

月份名称为字符串

我试图将月份的名称作为字符串返回,例如"May","September","November".

我试过了:

int month = c.get(Calendar.MONTH);
Run Code Online (Sandbox Code Playgroud)

但是,这会返回整数(分别为5,9,11).我怎样才能获得月份名称?

android calendar

76
推荐指数
8
解决办法
11万
查看次数

读写Parcelable对象的数组

我有以下类,它从一个包中读取和写入一个对象数组:

class ClassABC extends Parcelable {
    MyClass[] mObjList;

    private void readFromParcel(Parcel in) {
        mObjList = (MyClass[]) in.readParcelableArray(
                com.myApp.MyClass.class.getClassLoader()));
    }

    public void writeToParcel(Parcel out, int arg1) {
        out.writeParcelableArray(mObjList, 0);
    }

    private ClassABC(Parcel in) {
        readFromParcel(in);
    }

    public int describeContents() {
        return 0;
    }

    public static final Parcelable.Creator<ClassABC> CREATOR =
            new Parcelable.Creator<ClassABC>() {

        public ClassABC createFromParcel(Parcel in) {
            return new ClassABC(in);
        }

        public ClassABC[] newArray(int size) {
            return new ClassABC[size];
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我ClassCastException在阅读时得到readParcelableArray:

ERROR/AndroidRuntime(5880):引起:java.lang.ClassCastException:[Landroid.os.Parcelable;

上面的代码有什么问题?在编写对象数组时,我应该先将数组转换为ArrayList? …

android parcelable

74
推荐指数
4
解决办法
7万
查看次数

Android FragmentManager BackStackRecord.run抛出NullPointerException

使用Fragments时,我有时会遇到以下异常:

FATAL EXCEPTION: main
java.lang.NullPointerException
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:591)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
    at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:420)
    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:4745)
    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:786)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

当调用from时,当它尝试从管理器中删除片段时run(),会发生异常.BackStackRecordexecPendingTransactions()

case OP_REMOVE: {
  Fragment f = op.fragment;
  f.mNextAnim = op.exitAnim; <----
  mManager.removeFragment(f, mTransition, mTransitionStyle);
}
break;
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚究竟是什么导致了这个?我认为这与拆除碎片时未正确清理的碎片堆叠有关.

java android android-fragments fragmentmanager

65
推荐指数
1
解决办法
3万
查看次数

ViewPager可以在每页中有多个视图吗?

在尝试了Gallery和Horizo​​ntal Scroll View之后,我发现View Pager做了我需要的东西,但遗漏了一件小事.View Pager每页可以有多个视图吗?

我知道View Pager每次刷卡只显示1个视图/页面.我想知道我是否可以限制我的视图宽度,所以我的第二个视图会显示出来?

例如:我有3个视图,我希望屏幕显示视图1和视图2的一部分,以便用户知道有更多内容,以便他们可以滑动到视图2.

|view 1|view 2|view 3|
|screen   |
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

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

Google Play错误:无法上传仅测试版APK

在尝试将第一个apk上传到GooglePlay控制台中最近创建的项目时,我收到此错误:

您无法上传仅限测试的APK

根据今天的搜索结果,Google会为我提供0个结果.

我还提交了Play Console的票证.如果有任何答案,将在这里更新.

更新2017年11月29日

正如@ paul-lammertsma建议的那样,有一种解决方法.仍然很高兴知道为什么我们需要采用gradle方式,我们不能通过IDE做到这一点.

android google-play

36
推荐指数
4
解决办法
9183
查看次数

将Java应用程序固定到Windows 7任务栏

我使用Launch4j作为我在Windows 7下的Java应用程序的包装器,根据我的理解,本质上它的一个实例javaw.exe依次解释Java代码.因此,在尝试将我的应用程序固定到任务栏时,Windows会反而引脚javaw.exe.如果没有所需的命令行,我的应用程序将无法运行.

将Launch4j应用程序固定到任务栏的结果

如您所见,Windows也没有意识到Java是主机应用程序:应用程序本身被描述为"Java(TM)Platform SE binary".

我尝试更改注册表项HKEY_CLASSES_ROOT\Applications\javaw.exe以添加值IsHostApp.这通过完全禁用我的应用程序的固定来改变行为; 显然不是我想要的.

将javaw.exe指定为宿主应用程序的结果

在阅读了Windows如何解释单个应用程序的实例(以及此问题中讨论的现象)之后,我开始对将应用程序用户模型ID(AppUserModelID)嵌入到我的Java应用程序中感兴趣.

我相信我可以通过传递一个独特AppUserModelID的Windows 来解决这个问题.有一种shell32方法,SetCurrentProcessExplicitAppUserModelID.根据Gregory Pakosz的建议,我实现了它,试图将我的应用程序识别为以下单独的实例javaw.exe:

NativeLibrary lib;
try {
    lib = NativeLibrary.getInstance("shell32");
} catch (Error e) {
    Logger.out.error("Could not load Shell32 library.");
    return;
}
Object[] args = { "Vendor.MyJavaApplication" };
String functionName = "SetCurrentProcessExplicitAppUserModelID";
try {
    Function function = lib.getFunction(functionName);
    int ret = function.invokeInt(args);
    if (ret != 0) {
        Logger.out.error(function.getName() + " returned error …
Run Code Online (Sandbox Code Playgroud)

java java-native-interface taskbar launch4j windows-7

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