我创建了一个对话框,其中包含一个ListView为Spinner显示器建模的自定义,最初它以值"选择性别"开始.
当对话框打开时,它会提示选择(就像微调器一样).如果再次选择了选择,它将显示相同的选项,但不指示已选择了哪个选项.
示例:
默认值:"选择性别"
对话框打开,没有选择
用户选择:"男性"
用户重新打开对话框...
对话框打开,没有选择
(我希望选择"男性",因为那是他们最后的选择)
到目前为止,这是我的代码:
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) 未将默认选项设置为"女性"
我已经为我的片段添加了自定义键盘,现在我想在背面按下时实现关闭键盘.
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
?
我正在处理地图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项目中导入新的库模块(使用android studio),它没有任何问题,但是当我导入它时我有这个错误(当试图同步gradle时):
Run Code Online (Sandbox Code Playgroud)Gradle sync failed: Unable to load class 'org.gradle.internal.logging.LoggingManagerInternal'.
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
我知道这是一个重复的问题,但我尝试了很多代码,但无法解决错误
Run Code Online (Sandbox Code Playgroud)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
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) 我想在mock location app没有任何用户干预的情况下设置" ",这样我就可以在Android 6.0上部分自动化一些测试.
geo fix 在我的情况下是不合适的.
可能吗?
我用一个字段创建了一个简单的类. 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中的所有引用的同时反序列化基本数组而不会出现错误?
我有一个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)
现在我的应用程序崩溃,出现以下异常
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
我已经尝试在没有使用proguard的情况下构建应用程序
minifyEnabled = false
Run Code Online (Sandbox Code Playgroud)
然后它工作正常.但这不是一个选项,因为我需要对我的应用进行模糊处理.我在我的proguard文件中尝试了以下内容.
-keep class com.fasterxml.jackson.** { *; }
-keepattributes *Annotation* …Run Code Online (Sandbox Code Playgroud) 我使用这种方法来 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) 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]
构建或创建新项目时发生此错误.
android ×9
java ×2
arrays ×1
back-stack ×1
google-maps ×1
jackson ×1
json.net ×1
listview ×1
proguard ×1