警告此方法具有构造函数名称

时间:2014-01-25 18:50:24

标签: java android constructor

我在android开发中使用了一个名为A的类,当我创建一个名为:

的类时会弹出这个警告
private Intent a() // This method has a constructor name
{
    b.setDrawingCacheEnabled(true);
    Bitmap bitmap = b.getDrawingCache();
    Intent intent = new Intent("android.intent.action.SEND");
    intent.setType("image/jpg");
    ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
    bitmap.compress(android.graphics.Bitmap.CompressFormat.JPEG, 100,
            bytearrayoutputstream);
    File file = new File((new StringBuilder())
            .append(Environment.getExternalStorageDirectory())
            .append(File.separator).append("temp_file.jpg").toString());
    try {
        file.createNewFile();
        FileOutputStream fileoutputstream = new FileOutputStream(file);
        fileoutputstream.write(bytearrayoutputstream.toByteArray());
        fileoutputstream.close();
    } catch (IOException ioexception) {
        ioexception.printStackTrace();
    }
    intent.addFlags(0x80000);
    intent.putExtra("android.intent.extra.STREAM", Uri.fromFile(file));
    a.startActivity(Intent.createChooser(intent, "Share via: "));
    return intent;
}

我该怎么办?

2 个答案:

答案 0 :(得分:2)

@Raghunandan说的话。

创建与classname相同的方法(因此构造函数)显然不一定是非法的(警告,没有错误?),但可能非常令人困惑。尝试提出一个更具描述性的方法名称。

答案 1 :(得分:0)

您看到此警告是因为Android lint工具(静态代码分析工具)会检查您的Android项目源文件是否存在潜在错误和优化改进,因此会在此处检测到可疑(但不是错误的)命名。

你有3个选项,在所有情况下,一切都会正常编译,没有任何东西会爆炸。 我已经订购了各种各样的选项。

  1. 让每个人都开心并更改名称

  2. 继续使用荒谬的名称并忽略警告

  3. 通过在提供警告的部分上方添加@supresswarnings规则或调整IDE中的lint设置,使警告消失。