Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android findViewById在更改CompileSDK版本和buildToolsVersion后返回null_Android_Nullpointerexception_Null_Findviewbyid - Fatal编程技术网

Android findViewById在更改CompileSDK版本和buildToolsVersion后返回null

Android findViewById在更改CompileSDK版本和buildToolsVersion后返回null,android,nullpointerexception,null,findviewbyid,Android,Nullpointerexception,Null,Findviewbyid,我已经搜索了我遇到的问题,但它非常具体,我找不到答案 我的应用程序中有以下代码: class MainActivity extends Activity { ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

我已经搜索了我遇到的问题,但它非常具体,我找不到答案

我的应用程序中有以下代码:

class MainActivity extends Activity {
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ...
        mStatusImageView = (ImageView) findViewById(R.id.imageViewStatus);
        ...
        mStatusImageView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
               ...
            }
    ...
    }
我最初使用以下方法编译和导出APK:

compileSdkVersion 21
buildToolsVersion "21.1.2"
一切正常。但随后我将我的应用程序更新为最新版本:

compileSdkVersion 23
buildToolsVersion "23.0.1"
现在奇怪的部分来了。使用compileSdk和buildTools的最新版本,如果我处于调试模式,一切都可以正常运行

但是,如果我在设备中安装APK文件后导出APK文件,当我运行应用程序时,会出现以下错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{x.x.x/x.x.x.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setOnTouchListener(android.view.View$OnTouchListener)' on a null object reference : at x.x.x.MainActivity.onCreate(Unknown Source)

这是一个非常奇怪的问题。。。你们知道为什么会发生这种情况吗?

在与任何组件进行编程交互之前,必须在
onCreate()
中调用
setContentView()
来设置UI。
onCreate()
的前两行应该是
super.onCreate(savedInstanceState)
,然后是
setContentView(R.layout.Your\u布局)
。然后继续设置onTouchListener。

清除项目并重新构建是的,我正在这样做。我改变了问题,这样问题就清楚了。也许还可以发布你的activity_main.xml内容,这样我们就可以看到ImageView,等等。