小编Vic*_*ert的帖子

在Android中设置ListView警报对话框的默认选定项

我创建了一个对话框,其中包含一个ListViewSpinner显示器建模的自定义,最初它以值"选择性别"开始.

当对话框打开时,它会提示选择(就像微调器一样).如果再次选择了选择,它将显示相同的选项,但不指示已选择了哪个选项.

示例:
默认值:"选择性别"
对话框打开,没有选择
用户选择:"男性"
用户重新打开对话框...
对话框打开,没有选择

(我希望选择"男性",因为那是他们最后的选择)

到目前为止,这是我的代码:

genderItems = getResources().getStringArray(R.array.gender_array);
genderAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, genderItems);

genderDrop.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_DOWN) {
                Builder genderBuilder = new AlertDialog.Builder(Register.this)
                    .setTitle(R.string.gender_prompt)
                    .setAdapter(genderAdapter, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        inputGender.setText(genderItems[which]);
                        dialog.dismiss();
                    }
                });
                AlertDialog genderAlert = genderBuilder.create();
                genderAlert.show();
                genderAlert.getListView().setSelection(0);
            }
            return false;
        }
});
Run Code Online (Sandbox Code Playgroud)

genderAlert.getListView().setSelection(0) 未将默认设置选为 "男性"
genderAlert.getListView().setSelection(1) 未将默认选项设置为"女性"

android listview android-alertdialog

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

如果不存在,如何将BackStackEntry添加到BackStack

我已经为我的片段添加了自定义键盘,现在我想在背面按下时实现关闭键盘.

class CustomKeyboard
{
    public void init(Context context) {
        //...

        FragmentManager fragmentManager = ((Activity) context).getFragmentManager();
        boolean fragmentPopped = fragmentManager.popBackStackImmediate(TAG, 0);
        if (!fragmentPopped) {
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.addToBackStack(TAG);
            fragmentTransaction.commit();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

init每次屏幕旋转时都会出现问题,因为我创建了CustomKeyboardpublic void onActivityCreated(final Bundle savedInstanceState)

fragmentPopped=false 每次都可以将CustomKeyboard添加到BackStack中多次.

我的问题:
如果不使用getBackStackEntryCount()方法,是否可以将BackStackEntry添加到BackStack ?

android back-stack fragment-backstack

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

错误片段中的非默认构造函数

我正在处理地图apiv2.编码Dialog Fragment类时出现以下错误.

错误: Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead:

这是代码:

public PlaceDialogFragment(){
    super();
}

public PlaceDialogFragment(Place place, DisplayMetrics dm){
    super();
    this.mPlace = place;
    this.mMetrics = dm;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助都值得赞赏..

修改:这是整个代码...我是一个新手,从来没有处理过碎片.我正在通过地图啧啧发现这个......你现在详细说明了你想要解释的事情.

package com.example.travelplanner;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewFlipper;

// Defining DialogFragment class to show …
Run Code Online (Sandbox Code Playgroud)

android google-maps

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

Gradle sync失败:无法加载类'org.gradle.internal.logging.LoggingManagerInternal'

我试图在我的android项目中导入新的库模块(使用android studio),它没有任何问题,但是当我导入它时我有这个错误(当试图同步gradle时):

Gradle sync failed: Unable to load class
'org.gradle.internal.logging.LoggingManagerInternal'.
Run Code Online (Sandbox Code Playgroud)

bulid.gradle for module

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    applicationId "com.amazon.mysampleapp"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled = true
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        debuggable true
    }
}

lintOptions {
    abortOnError false
}

sourceCompatibility = 1.7
targetCompatibility = 1.7
}

dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  compile fileTree(include: ['*.jar'], dir: 'app/libs')
  compile 'com.android.support:appcompat-v7:23.1.0' …
Run Code Online (Sandbox Code Playgroud)

java android android-studio android-gradle-plugin gradle-plugin

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

运行时gradle异常

我知道这是一个重复的问题,但我尝试了很多代码,但无法解决错误

Error:Execution failed for task
':app:transformClassesWithJarMergingForDebug'.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry:
android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl.class
Run Code Online (Sandbox Code Playgroud)

gradle文件

apply plugin: 'com.android.application'

android {
  compileSdkVersion 23
  buildToolsVersion "23.0.3"

  defaultConfig {
      applicationId "com.cwish"
      minSdkVersion 16
      targetSdkVersion 23
      versionCode 1
      versionName "1.0"
      multiDexEnabled true
  }
  buildTypes {
      release {
          minifyEnabled false
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
  }
}
dependencies {

  compile fileTree(dir: 'libs', include: ['*.jar'])
  testCompile 'junit:junit:4.12'
  compile 'com.android.support:appcompat-v7:23.4.0'
  compile 'com.android.support:design:23.4.0'
  compile 'com.google.code.gson:gson:2.6.2'
  compile 'com.squareup.retrofit2:retrofit:2.1.0'
  compile 'com.squareup.retrofit2:converter-gson:2.1.0'
  compile 'com.android.support:recyclerview-v7:+'
  compile 'com.android.support:recyclerview-v7:23.1.0@aar'
  compile 'com.daimajia.numberprogressbar:library:1.2@aar'
  compile 'com.google.android.gms:play-services:8.3.0'
  compile 'com.koushikdutta.ion:ion:2.+'
}
Run Code Online (Sandbox Code Playgroud)

android android-studio

7
推荐指数
0
解决办法
141
查看次数

如何从adb设置android 6.0模拟位置应用程序

我想在mock location app没有任何用户干预的情况下设置" ",这样我就可以在Android 6.0上部分自动化一些测试.

geo fix 在我的情况下是不合适的.

可能吗?

android

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

JSON.NET无法处理简单的数组反序列化?

我用一个字段创建了一个简单的类. class Test{int value;}

如果我使用"保留引用"功能并将其设置为"all"(即对象和数组),那么当我简单地序列化一个Test对象数组时,它会被序列化为一个带有特殊"$ values"成员的JSON对象使用数组值以及预期的"$ id"属性来保留数组引用.这很好,但是整个事情再一次打破了反序列化.

单步执行源代码,我发现只是因为" IsReadOnlyOrFixedSize" 的测试是真的,它将标志" createdFromNonDefaultConstructor"设置为true,这甚至没有任何意义,因为虽然它是一个固定大小的数组,但它是从默认构造函数,除非它将任何固定大小的数组构造函数视为非默认构造函数.最重要的是,它应该能够处理如此基本的东西,但却抛出了这个错误:" Cannot preserve reference to array or readonly list, or list created from a non-default constructor".

如何在保留JSON.NET中的所有引用的同时反序列化基本数组而不会出现错误?

arrays json.net strong-typing deserialization

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

使用Proguard时,getDeclaredAnnotation崩溃

我有一个Android应用程序,包含10个库项目和一个应用程序项目.其中2个库项目使用jackson库作为依赖项.这是来自build.gradle的两个snipet

compile 'com.fasterxml.jackson.core:jackson-databind:2.4.4'
compile 'com.fasterxml.jackson.core:jackson-core:2.4.4'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.4.4'
Run Code Online (Sandbox Code Playgroud)

现在我的应用程序崩溃,出现以下异常

at java.lang.Class.getDeclaredAnnotations(Native Method) at
com.fasterxml.jackson.databind.introspect.AnnotatedClass.resolveClassAnnotations(AnnotatedClass.java:308)
at
com.fasterxml.jackson.databind.introspect.AnnotatedClass.getAnnotation(AnnotatedClass.java:173)
at
com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector.isIgnorableType(JacksonAnnotationIntrospector.java:97)
at
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.isIgnorableType(BeanDeserializerFactory.java:870)
at
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.filterBeanProps(BeanDeserializerFactory.java:635)
at
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.addBeanProps(BeanDeserializerFactory.java:527)
at
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:270)
at
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:168)
at
com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:399)
at
com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:348)
at
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:261)
at
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:241)
at
com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
at
com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:394)
at
com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:3169)
at
com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3033)
at
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1652)
Run Code Online (Sandbox Code Playgroud)

在崩溃之前,我可以在日志中看到以下行

Class resolved by unexpected DEX:
Lcom/vocalocity/Administration/api/support/extensionKit/ExtkitConfig;(0x41ac7088):0x7acd1000
ref [Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility;]
Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility;(0x41ac7088):0x7a356000

(Lcom/vocalocity/Administration/api/support/extensionKit/ExtkitConfig;
had used a different
Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility; during
pre-verification)

Failed processing annotation value
Run Code Online (Sandbox Code Playgroud)

我已经尝试在没有使用proguard的情况下构建应用程序

minifyEnabled = false
Run Code Online (Sandbox Code Playgroud)

然后它工作正常.但这不是一个选项,因为我需要对我的应用进行模糊处理.我在我的proguard文件中尝试了以下内容.

-keep class com.fasterxml.jackson.** { *; }
-keepattributes *Annotation* …
Run Code Online (Sandbox Code Playgroud)

android proguard jackson android-proguard

6
推荐指数
0
解决办法
286
查看次数

如何在 Android 中测试活跃的互联网连接

我使用这种方法来 ping 谷歌服务器,这样我就可以检查活动internet连接,但我发现它并不适用于所有设备。

我尝试过使用其他方法,例如HttpURLConnectionandURLConnection但即使我已连接,它们也会返回 false。

任何适用于所有设备的想法或解决方案。提前致谢。我将连续发布我已经尝试过的内容。

方法一:

public static Boolean isOnline() {
    try {
        Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 8.8.8.8");
        int returnVal = p1.waitFor();
        return (returnVal == 0);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我在本地和谷歌服务器上尝试过这个,它产生了完美的结果。问题是它不适用于所有设备。

方法二:

public boolean isConnected() {
    boolean connectivity;
    try {
        URL url = new URL("www.google.com");
        URLConnection conn = url.openConnection();
        conn.setConnectTimeout(5000);
        conn.connect();
        connectivity = true;
    } catch (Exception e) {
        connectivity …
Run Code Online (Sandbox Code Playgroud)

android internet-connection

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

错误:无法启动DAEMON流程 - 在Android Studio 1.0中构建Gradle

Error:Unable to start the daemon process.
Run Code Online (Sandbox Code Playgroud)

此问题可能是由守护程序的错误配置引起的.

例如,

使用了无法识别的jvm选项.
请参阅http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html
上守护程序的用户指南章节. 请阅读以下流程输出以了解更多信息:

13:41:17.232 [main] DEBUG o.g.l.daemon.bootstrap.DaemonMain - Assuming the daemon was started with following jvm opts: [-XX:MaxPermSize=256m, -XX:+HeapDumpOnOutOfMemoryError, -Xmx1024m, -Dfile.encoding=x-windows-949, -Duser.country=KR, -Duser.language=ko, -Duser.variant]

构建或创建新项目时发生此错误.

java android android-studio

5
推荐指数
0
解决办法
1305
查看次数