如果我在一个被破坏的视图上调用一个函数,它会爆炸吗?

时间:2017-10-29 03:18:24

标签: java android view

假设我有以下代码

class SomeActivity extends AppCompatActivity
{
    onCreate()
    {
        SomeView view = (SomeView) findViewById(R.id.some_view);

        // [code here destroys the inflated layout, including SomeView]

        // Does the android specification guarantee that the following
        // line of code is ALWAYS safe to execute?
        view.setVisibility(View.INVISIBLE);
    }
}

它不会改变任何东西(例如修改一些不存在的东西),或者它会爆炸成百上万的异常。我之所以问这个问题而不仅仅是在模拟器上进行测试的原因是我想确保我正在做一些“最佳实践”或“保证”安全的安卓规范。

1 个答案:

答案 0 :(得分:-1)

如果你破坏视图,那么是的,当你试图操作那个视图时它会抛出NPE。它就好像你使一些对象无效并尝试对该对象进行一些操作。