小编Gui*_*rme的帖子

Java - 静态变量和具有相同名称的参数

假设我有一个Helper类,如下所示:

public class Helper {
    private Context context;
    private static HelperListener listener;


    public Helper(Context context, HelperListener listener) {
        this.context = context;
        listener = listener; // Can't tell which one
    }
}
Run Code Online (Sandbox Code Playgroud)

context并且listener是在构造函数中仅设置一次的变量.

context不是static,因此我可以使用参数区分变量this.context.

listener另一方面,是static.在涉及静态变量时,有没有办法将它与参数区分开来?

java

8
推荐指数
2
解决办法
3583
查看次数

每个Android的location.Address方法返回什么?

我试图弄清楚如何使用类Android.location.Address获取Android SDK的地址组件.

有些方法非常简单,其他方法很容易通过文档中的示例来理解,但其中一些方法对我来说完全不清楚.要么是因为文档中没有示例,要么因为该示例涉及的美国与其他国家可能没有相同的政治组织.

我一直在寻找他们的意思,但网上的大多数教程只是使用该方法getAddressLine(int index)进行教学,然后由开发人员来学习其余的.

  • getAdminArea():返回州首字母缩略词("CA",加州)
  • getCountryCode():返回国家ISO代码("JP",日本)
  • getCountryName():返回国家名称("西班牙",代表...西班牙)
  • getFeatureName():返回该位置的名称(如果有的话)(博物馆的"卢浮宫")
  • getLocality():返回城市名称("伦敦")
  • getPostalCode():返回邮政编码("94110",在美国)
  • getPremises():???
  • getSubAdminArea():???
  • getSubLocality():???
  • getSubThoroughfare():???
  • getThoroughfare():返回街道和建筑物编号("1600 Amphitheatre Parkway")

我的问题是所有这些方法返回的内容(以及示例,如果可能的话).

另外,我想知道如何分别获得建筑物编号和街道名称.解析Thoroughfare字符串似乎并不那么难,但考虑到在某些国家,这个数字出现在街道之前,而其他国家出现后,解析文本的最佳方法是什么?

java android street-address google-geocoding-api

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

VFY:无法解决[很多东西]

我今天回来工作,我开始使用模拟器(KitKat)调试我的应用程序,我的应用程序运行正常.自上周五以来我做了一些改变,但并不多.

然后我转移到设备(Gingerbread)并注意到上周工作的应用程序已经开始在主要活动中崩溃了setContentView().以下是警告/错误消息:

W/ActivityThread? Application com.example.myapp is waiting for the debugger on port 8100...
W/dalvikvm? VFY: unable to resolve static method 790: Landroid/net/TrafficStats;.setThreadStatsTag (I)V
W/dalvikvm? VFY: unable to resolve instance field 50
W/dalvikvm? VFY: unable to resolve virtual method 95: Landroid/app/Activity;.getFragmentManager ()Landroid/app/FragmentManager;
W/dalvikvm? Unable to resolve superclass of Lmaps/aj/r; (671)
W/dalvikvm? Link of class 'Lmaps/aj/r;' failed
W/dalvikvm? Unable to resolve superclass of Lmaps/ay/an; (6382)
W/dalvikvm? Link of class 'Lmaps/ay/an;' failed
W/dalvikvm? Unable to resolve superclass of Lmaps/c/i; (6613)
W/dalvikvm? …
Run Code Online (Sandbox Code Playgroud)

android

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

检查设备是否支持模糊

我的应用程序使用UIBlurEffect,但旧设备(特别是iPad 2和3,支持iOS 8)没有模糊支持.

我想检查用户的设备是否支持模糊.我该怎么做?

ios swift uiblureffect

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

Zxing:生成的条形码不使用全宽

我正在尝试使用Zxing生成Code128条形码:

try {
    int width = (int) (barcode.getWidth() * 0.95f);
    int height = (int) (width * 0.2f);
    BitMatrix bitMatrix = writer.encode(code.number, BarcodeFormat.CODE_128, width, height);
    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    for (int i = 0; i < width; i++) {
        for (int j = 0; j < height; j++) {
            bitmap.setPixel(i, j, bitMatrix.get(i, j) ? Color.BLACK : Color.WHITE);
        }
    }
    barcode.setImageBitmap(bitmap);
} catch (WriterException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

其中barcodeImageView,其宽度被设定为match_parent(与5DP余量)和高度为wrap_content.我生成的图像的宽高比为5:1,我预计黑色条纹会出现在图像的最开头,并在最后完成.

但这是会发生的事情:

条码

ImageView …

android barcode zxing

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

如何在使用列表/网格/回收站视图时为活动转换设置动画?

我正在尝试实现一些新的Material Design活动动画,但我读过的教程仅显示了要动画的视图属于活动的示例.

在我的应用程序中,我使用的是RecyclerView,所以ImageView它不是活动的一部分:

MainActivity                -> Where I call startActivity()
 ? MainFragment
  ? RecyclerView
   ? RecyclerViewAdapter
    ? ViewHolder
     ? ImageView            -> The hero imageView I'd like to animate
Run Code Online (Sandbox Code Playgroud)

根据我的阅读,我应该开始这样的新活动:

ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this, (View) mImageView, "hero_image");

Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)

问题是:那mImageView不属于MainActivity.我该如何通过呢?

android material-design activity-transition android-recyclerview

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

Rails TimeWithZone和闰年

今天是2月29日:我们的测试破坏了.

我们的测试失败了,因为这些测试做的事情最终可以与这样的命令进行比较:Time.zone.now - 1.year + 1.year.它碰巧等于Time.zone.now.

为什么会这样?为什么ActiveSupport不能在这样的计算中处理闰年?它是否适用于时间戳,这会阻止这类问题的发生?

ruby-on-rails activesupport

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

如何使用Codable的List类型?(RealmSwift)

问题是List类型不符合Codable,下面的类不能插入Realm.

例如,

class Book: Codable {
    var name: String = ""
    var author: String = ""
    var tags = [String]()
}
Run Code Online (Sandbox Code Playgroud)

考虑上面的类符合Codable,如果将此类存储到Realm,则需要使用List<Object>类型而不是[String]

class Book: Object, Codable {
    @objc dynamic var name: String = ""
    @objc dynamic var author: String = ""
    var tags = List<Tag>()

    required convenience init(from decoder: Decoder) throws {
        self.init()
        let container = try decoder.container(keyedBy: CodingKeys.self)
        name = try container.decode(String.self, forKey: .name)
        author = try container.decode(String.self, forKey: .author)
        tags = try container.decode(List<Tag>.self, forKey: .tags) …
Run Code Online (Sandbox Code Playgroud)

realm swift swift4

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

将EditText电话号码格式化为用户类型

EditText每当用户键入一个新角色时,我想编辑一个字段内容.基本上我想使用格式化电话号码libphonenumber.

我实现了一个TextWatcher读取字段内容并将其格式化为电话格式的内容.但每次我EditText使用格式化字符串设置文本时,再次调用观察者,再次设置文本,并且它会陷入此无限循环中.

将文本编辑为用户类型的最佳或正确方法是什么?

@Override
public void afterTextChanged(Editable editable) {
    if (editable.length() > 1) {
        try {
            PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
            PhoneNumber numberProto = phoneUtil.parse(editable.toString(), "BR");
            String formatted = phoneUtil.format(numberProto, PhoneNumberFormat.NATIONAL);
            telephone.setText(formatted);
        } catch (NumberParseException e) {
           Log.d("Telefone", "NumberParseException was thrown: " + e.toString());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

formatting android textwatcher android-edittext

5
推荐指数
1
解决办法
1526
查看次数

将变量声明为final会使代码更有效吗?

我正在使用Android Studio开发Android应用程序,并运行了代码分析.在许多不同的代码片段中,分析表明了一些变量"Declaration can have final modifier".

事实上,所有这些变量只设置了一次并且它在构造函数中完成,并且从今天开始,如果我将它们声明为没有问题就没有问题final.

我想知道如果通过这样做,如果代码运行更有效,将会有任何性能改进.换句话说,为什么IDE会向我建议这种变化?

其次,final尽可能声明变量是一种好习惯吗?是否有可以宣布这样的情况,但我最好不要?

java final

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