当前位置: 首页 > 面试题库 >

了解@SuppressLint(“ NewApi”)批注

周通
2023-03-14
问题内容

我是一个Android初学者。在尝试管理活动生命周期的代码时,我遇到了新问题。

package com.example.activitylaunch;

import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

@SuppressLint("NewApi")
public class MainActivity extends Activity {

TextView mTextView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTextView = (TextView) findViewById(R.id.text_message);

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    {
        ActionBar actionBar = getActionBar();
        actionBar.setHomeButtonEnabled(false);
    }
    }

@Override
public void onDestroy(){
    super.onDestroy();
    android.os.Debug.stopMethodTracing();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

我对代码理解得很好,但是在ActionBar
SuppressLint中却给出了错误。当我双击它时,@SuppressLint("NewApi")正在添加。这是什么意思@SuppressLint("NewApi")


问题答案:

@SuppressLint("NewApi") 是Android Lint工具使用的注释。

当代码中的某些内容不是最佳的或可能崩溃时,Lint会告诉您。通过传递NewApi,您将抑制所有警告,这些警告会告诉您是否正在使用在您的设备之后引入的任何APIminSdkVersion

在以下位置查看Lint检查的完整列表-包括“ NewApi”:http ://tools.android.com/tips/lint-
checks



 类似资料:
  • 我是一个android初学者。在尝试管理活动生命周期的代码时,我遇到了一件新事情。 我很好地理解代码,但是它在ActionBar SuppressLint中给出了一个错误。当我双击它时,正在添加。这里的是什么意思?

  • 问题内容: 从官方的hibernate文档中: @ org.hibernate.annotations.Type会覆盖所使用的默认hibernate类型:由于Hibernate可以正确推断出该类型,因此通常不必这样做 文档中有一个示例: 我不明白 我们声明,但是方法的返回值具有类型。 我希望在类型注释中声明的类型和返回值的类型应该是相同的类型。 有人无法解释在注解中声明的类型的实际用途。为什么它与

  • 问题内容: 我在这里使用教程来了解JAXB。 当作者开始创建文档的根时,作者开始如下: 尽管我将手动生成类而不是让Eclipse生成类,但我将提供一个jar文件(未打包在其中,而是在包含jar文件的文件夹中),以便在我的应用程序启动时验证XML文档是否已被篡改。 因此,在XSD文件中,将会是 因为上面已将其声明为?? 问题答案: 我建议使用包级别注释为模型指定名称空间限定。程序包级别的注释位于一个

  • 问题内容: 我试图了解JPA 中注释的属性。我在下面的示例中创建了一个客户具有订单列表的示例: 现在,当我使用Hibernate生成表时,我看到Hibernate仅创建了2个表: 另外,如果我尝试保存客户和一些订单,我会在下面看到由Hibernate生成的DML语句: 为什么Hibernate试图在TBL_ORDER中插入和更新记录,而不仅仅是运行单个插入查询? 现在,如果我删除mapledBy属

  • 问题内容: 我不太清楚该在哪里抛出该异常。 例如,我正在实现接口,并且不希望任何人调用该方法: Future#get(long,TimeUnit)。 所以,我可以扔吗? 事情是方法的规范并没有说明抛出异常。反过来,例外 抛出以指示不支持请求的操作。 类UnsupportedOperationException 我的意思是,如果您不希望调用它,通常会抛出它,否则可能会因为不是所有方法都已实现而被认为

  • 问题内容: 我试图了解Go中的并发性。特别是,我编写了以下线程不安全程序: 我认识到我应该使用渠道来防止与发生竞争,但这不是重点。程序打印,然后似乎永远循环(不再打印任何内容)。我希望它能打印出无限的数字列表,可能由于竞态条件而跳过某些数字并重复其他数字(或更糟的是,在更新数字时打印数字)。 我的问题是:为什么程序只打印一行? 只是要清楚一点:对于这个玩具示例,我不是故意使用渠道。 问题答案: 关