小编Cha*_*ake的帖子

如何检查当前线程是否不是主线程

我需要检查运行某段代码的线程是否是主(UI)线程.我怎样才能做到这一点?

java multithreading android

369
推荐指数
6
解决办法
11万
查看次数

居中位图标记(Google Maps Android API v2)

当我从自定义位图添加标记时,标记不会在我指定的点居中.

我是这样添加的:

    // ID tramo
    final int tramoId = tr.getId();
    // Nodos
    final Nodo[] nodos = tr.getNodos();

    final PolylineOptions p = new PolylineOptions();
    MarkerOptions m = new MarkerOptions();
    // Seteamos posicion de linea y marker
    m.position(semisuma(nodos));
    for (final Nodo n : nodos) {
        p.add(n.getLatLng());
    }
    // Color de linea y marker
    BitmapDescriptor icon = null;
    if (tr.getCapacidad() == 0) {
        p.color(0xFF000000);
        m = null;
    } else if (tr.getCapacidad() - tr.getPlazasOcupadas() == 0) {
        p.color(0xEEFF0000);
        final TextDrawable drawable = new TextDrawable(0, …
Run Code Online (Sandbox Code Playgroud)

android centering android-drawable google-maps-android-api-2

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

Android Studio安装Gradle时出错

当我尝试在Android Studio上构建项目时,我收到此错误:

Compilation completed with 1 error and 0 warnings in 9 sec
1 error
0 warnings
org.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.: Could not install Gradle distribution from 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
Run Code Online (Sandbox Code Playgroud)

我该怎么办才能修复它?

更新:

当我查看错误日志时,我看到了这个:

org.jetbrains.plugins.gradle.settings.GradleSettings cannot be cast to org.jetbrains.plugins.gradle.settings.GradleSettings:
org.jetbrains.plugins.gradle.settings.GradleSettings cannot be cast to org.jetbrains.plugins.gradle.settings.GradleSettings
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio

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

禁用滚动ScrollView中包含的ListView

我想为我的用户显示个人资料屏幕.

它必须有三个视图(2 Buttons和a ImageView)和a ListView以显示该用户所做的内容.

但是,我不想ListView滚动.相反,我希望它与所需的一样大,并将我的所有视图放在一个中ScrollView,所以三个第一个视图滚动出来ListView.当然,这不符合预期.

我的三件物品都在里面LinearLayout.我想把它们作为第一项ListView,但这导致它们可以作为第一项选择,并且不得不做一些不需要的编码.

有没有办法以简单的方式做到这一点,还是我必须坚持将布局作为ListView中的第一项?

android listview scrollview

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

替代setButton

我在我的android项目中使用此代码:

alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是,Eclipse说它已setButton()被弃用.请帮助我提供替代解决方案.谢谢!

android

29
推荐指数
4
解决办法
3万
查看次数

实施支持库操作栏时出错

我正在尝试实施新的v7支持库ActionBar.但是,我无法让它正常运行.

这是例外

07-25 09:30:01.704: E/AndroidRuntime(9175): FATAL EXCEPTION: main
07-25 09:30:01.704: E/AndroidRuntime(9175): java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:98)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at com.cidaut.termoweb.MainActivity.onCreate(MainActivity.java:23)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.app.Activity.performCreate(Activity.java:5133)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.os.Looper.loop(Looper.java:137)
07-25 09:30:01.704: E/AndroidRuntime(9175):     at android.app.ActivityThread.main(ActivityThread.java:5103) …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar android-support-library

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

比较两个Calendar对象

我想比较两个Calendar对象,看它们是否包含相同的日期.我不关心天数以下的任何价值.

我已经实现了这个,我无法考虑它应该失败的任何情况:

private static boolean areEqualDays(Calendar c1, Calendar c2) {
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
    return (sdf.format(c1.getTime()).equals(sdf.format(c2.getTime())));
}
Run Code Online (Sandbox Code Playgroud)

这种方法是正确的还是我应该逐场比较c1和c2?

java theory calendar

25
推荐指数
3
解决办法
7万
查看次数

java.io.ioexception:打开失败:将图像保存到外部存储器时的einval(无效参数)

这是我的代码:

private boolean writeToSD(Bitmap bm, String url) {
    if (canIWriteOnSD()) {
        File sd = Environment.getExternalStorageDirectory();
        File dest = new File(sd, "MoveInBlue/");
        try {
            url = urlCleaner(url);
            if (!dest.exists()) {
                dest.mkdir();
            }
            File file = new File(dest, url + ".png");
            if (!file.exists()) {
                file.createNewFile();
            }
            FileOutputStream out = new FileOutputStream(file);
            bm.compress(Bitmap.CompressFormat.PNG, 90, out);
            out.flush();
            out.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            // Do nothing
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

问题解决了:

urlCleaner现在返回url.substring(url.lastIndexOf('?')+ 1),一切都按预期工作.

实际上是例外file.createNewFile();,我不知道为什么.

非常感谢你.

(urlCleaner只是从URL中删除http:// ...并保留php标记)

这是LogCat: …

file-io android ioexception

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

从语言代码中获取该语言的语言名称

我有一个语言代码列表(如"en","es"......)我需要用这样的语言显示:

English
Español
Français
Deutsch
???
Run Code Online (Sandbox Code Playgroud)

是否有任何内置的API可以在Android中获取这些API,或者我应该自己映射它们?

java android locale

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

自更新到ADT 22以来,AndroidAnnotations上的ClassNotFoundException生成了类

这个项目在更新到ADT22之前创造了奇迹.我已经失去了一天,因为我不知道我必须下载构建工具,而且我担心因为这个原因我将失去另一个.

当我尝试构建两天前工作的相同代码时,我遇到了这个异常:

com.cidaut.blueparking fatal error : Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk
java.lang.RuntimeException: Unable to instantiate activity \
    ComponentInfo{com.cidaut.blueparking/com.cidaut.blueparking.SplashScreen_}: \
    java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \
    /data/app/com.cidaut.blueparking-1.apk

  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
  at android.app.ActivityThread.access$600(ActivityThread.java:141)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:137)
  at android.app.ActivityThread.main(ActivityThread.java:5041)
  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:793)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
  at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.ClassNotFoundException: \
    Didn't find class "com.cidaut.blueparking.SplashScreen_" on path: \ …
Run Code Online (Sandbox Code Playgroud)

android classnotfoundexception eclipse-adt android-annotations

14
推荐指数
2
解决办法
7193
查看次数