小编Dor*_*ori的帖子

创建字符串枚举的最佳方法是什么?

使enum类型表示一组字符串的最佳方法是什么?

我试过这个:

enum Strings{
   STRING_ONE("ONE"), STRING_TWO("TWO")
}
Run Code Online (Sandbox Code Playgroud)

我怎么能用它们Strings呢?

java enums

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

ImageView缩放TOP_CROP

我有一个ImageView显示png的宽高比比设备更大(垂直方向 - 意味着它更长).我希望在保持宽高比,匹配父级宽度以及将图像视图固定到屏幕顶部的同时显示它.

使用CENTER_CROP缩放类型时遇到的问题是,它(可理解)使缩放图像居中,而不是将顶边与图像视图的顶边对齐.

问题FIT_START是图像将适合屏幕高度而不是填充宽度.

我已经通过使用自定义ImageView解决了这个问题,onDraw(Canvas)并使用画布手动覆盖和处理此问题; 这种方法的问题是1)我担心可能有一个更简单的解决方案,2)super(AttributeSet)当在堆有3 mb空闲时尝试设置src img为330kb时,我在调用构造函数时遇到VM mem异常(堆大小为6 mb)并且无法解决原因.

任何想法/建议/解决方案都非常欢迎:)

谢谢

ps我认为解决方案可能是使用矩阵比例类型并自己做,但这似乎与我当前的解决方案相同或更多的工作!

android imageview

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

Android ClassNotFoundException

我的一个应用程序出了问题,我想知道是否有人可以给我任何洞察可能导致它的原因.

我得到一个ClassNotFoundException,下面的重要一行是

E/AndroidRuntime(21982): Caused by: java.lang.ClassNotFoundException: couk.doridori.goigo.customUI.GoBoardView in loader dalvik.system.PathClassLoader@446fc3d0
Run Code Online (Sandbox Code Playgroud)

现在这个应用程序已经出来超过一年和2天前我有两个单独的用户联系我这个问题,一个在HTC野火(2.1)和一个三星Galaxy S(?).现在我无法在我的设备(2.2和1.6)或模拟器(2.1)上重新创建此问题,并且无法解决为什么类加载器无法找到此类的问题.我花了一段时间谷歌搜索无济于事,并希望有人有一些指针!它似乎只是在加载一个活动时,当设置了contentView时,它会尝试给View 扩展一个名为GoBoardView的自定义视图扩展View类,这只是做一些简单的画布绘图,并没有使用任何第三方库或任何其他类会有包名冲突或任何东西.

请帮忙!为了防止它出现构建问题,我正在通过eclipse更新我的所有SDK和ADT,因为它正在构建1.6并使用旧的ADT,但我不知道这是否有助于只是想值得一试.任何建议都会非常感谢!(见下面的编辑)

E/AndroidRuntime(21982): java.lang.RuntimeException: Unable to start activity ComponentInfo{couk.doridori.goigoFull/couk.doridori.goigoFull.Board}: android.view.InflateException: Binary XML file line #14: Error inflating class couk.doridori.goigo.customUI.GoBoardView
E/AndroidRuntime(21982): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596)
E/AndroidRuntime(21982): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2621)
E/AndroidRuntime(21982): at android.app.ActivityThread.access$2200(ActivityThread.java:126)
E/AndroidRuntime(21982): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932)
E/AndroidRuntime(21982): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(21982): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(21982): at android.app.ActivityThread.main(ActivityThread.java:4603)
E/AndroidRuntime(21982): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(21982): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(21982): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime(21982): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime(21982): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(21982): Caused by: android.view.InflateException: Binary XML file …
Run Code Online (Sandbox Code Playgroud)

java android classnotfoundexception

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

使用Retrofit和MockWebServer模拟无网络

我想在使用RetroFit和时模拟无网络案例MockWebServer.

我正在测试使用Espresso和提供MockWebServers url到RestAdapter我开始测试之前.这非常适合模拟服务器响应等等,但是我无法看到一种简单的方法来编写java.net.ConnectException设备没有网络时引发的异常的脚本.我可以看到MockResponse允许限制模拟等,但不是自定义异常.

我知道我可以嘲笑使用的实际web api接口,retrofit但是如果可能的话,我想使用与其他测试相同的方法MockWebServer.

我想我只是错过了一些简单的东西:)

谢谢

android retrofit mockwebserver

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

Eclipse Compare Editor:"下一个差异"和"下一个更改"按钮之间的区别?

今天一个简单的问题......

在Eclipse比较编辑器(右键点击文件 - 用比较...)是什么"下一个差异"和"下一个变化"按钮之间的区别?他们似乎完全一样.

它烦我!

谢谢

eclipse

25
推荐指数
1
解决办法
2217
查看次数

为我的Android项目生成一个Javadoc

我希望有人可以帮助我为我的eclipse项目生成一个javadoc.当我从项目菜单中选择"生成Javadoc"时,我会遇到很多错误

cannot find symbol
symbol  : class ListView
Run Code Online (Sandbox Code Playgroud)

每次引用Android API类的类,所以我只为不引用任何android api的类输出Javadocs.我的应用程序编译并正确运行,并且在项目设置中存在Android 1.6 lib(在构建路径 - 外部jar部分).

什么想法我做错了什么?

谢谢.

大道

java android javadoc

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

在C中使用STRUCT时的命名约定

我正在学习C并找到某人定义了一个结构体,它的结构名称在它前面有_.这是我第一次看到它,有人可以告诉我一点吗?为什么有人会使用_aStructName而不是aStructName,有什么好处?

struct _huffmanNode {
    int value;
    uint32_t frequency;

    int hasChild;
    struct _huffmanNode *child[2];

    struct _huffmanNode *next;
};
Run Code Online (Sandbox Code Playgroud)

同样地,我发现有人在以下代码中使用这种命名约定:

typedef struct HuffCode_ {

unsigned char      used;
unsigned short     code;
unsigned char      size;

} HuffCode;
Run Code Online (Sandbox Code Playgroud)

c

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

Android Studio的"gradle-aware make"执行什么命令

我正在玩Android Studio和Gradle,并且对gradle-aware make实际操作非常感兴趣.我感兴趣的原因是我最初的印象是新AS项目默认的默认运行配置gradle-aware make运行gradle assembledebug命令(在构建期间查看AS底部的状态显示app:assembleDebug任务正在运行)然后一些安装和运行命令.

但是,在测试已安装系统gradle版本为1.9并且项目设置为1.10的包装器的计算机上,我得到以下内容

  • gradle assembleDebug - >失败:无法创建'AppPlugin'类型的插件.
  • ./gradlew assembleDebug - >成功
  • AS Run - >成功

在我看来,AS Run如果gradle-aware make使用上述应该失败gradle assembledebug

看看src我可以看到MakeBeforeRunTaskProvider.java类和相关的提交,但是我看不到相关的信息

android gradle android-studio

20
推荐指数
1
解决办法
5706
查看次数

在Java中取代了很长一段时间

我敢肯定,对于谁先看到它,这是一个简单的!

为什么Java中的代码就像

   long one = 1 << 0;
   long thirty = 1 << 30;
   long thirtyOne = 1 << 31;
   long thirtyTwo = 1 << 32;

   System.out.println(one+" = "+Long.toBinaryString(1 << 0));
   System.out.println(thirty+" = "+Long.toBinaryString(1 << 30));
   System.out.println(thirtyOne+" = "+Long.toBinaryString(1 << 31));
   System.out.println(thirtyTwo+" = "+Long.toBinaryString(1 << 32));
Run Code Online (Sandbox Code Playgroud)

打印

1 = 1
1073741824 = 1000000000000000000000000000000
-2147483648 = 1111111111111111111111111111111110000000000000000000000000000000
1 = 1
Run Code Online (Sandbox Code Playgroud)

这对我来说没有意义.long是一个64位数字 - 而它似乎像int上面的一样.我知道bithifted bytes经过int促销,但我不知道在这种情况下会发生什么.

关于这里发生的任何指示都会很好:)

谢谢

编辑:感谢所有的答案 - 我一看到'提交'就意识到发生了什么但是SO进入readonly模式我无法删除!非常感谢!

java bit-shift

16
推荐指数
1
解决办法
9048
查看次数

Android - 拦截并传递所有触摸事件

我有一个覆盖ViewGroup,它是我想用来在用户与应用程序交互时显示效果的屏幕大小,但仍然将onTouch事件传递给任何底层视图.

我对所有MotionEvent(不只是DOWN)感兴趣,所以onInterceptTouchEvent()在这里不适用,好像我返回true我的覆盖将消耗所有事件,如果false将只接收DOWN事件(同样适用于onTouch).

我以为我可以覆盖Activitys dispatchTouchEvent(MotionEvent ev)并在我的叠加层中调用自定义触摸事件,但这具有不根据我的视图位置转换输入坐标的效果(例如,所有事件将通过似乎是发生在实际触摸之下20左右,因为不考虑系统条).

events android

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