更改Android TextView可见性时出错

时间:2014-10-08 19:48:18

标签: java android compiler-errors textview

我有这段代码,有人知道为什么我在手机上编译时出错了吗?

public void onSectionAttached(int number) {
            TextView textView = (TextView) findViewById(R.id.textView1);
            textView.setVisibility(View.VISIBLE);
            switch (number) {
                case 1:
                    mTitle = getString(R.string.title_section1);
                    break;
                case 2:
                    mTitle = getString(R.string.title_section2);
                    textView.setVisibility(View.GONE);
                    break;
                case 3:
                    mTitle = getString(R.string.title_section3);
                    textView.setVisibility(View.GONE);
                    break;
            }
    }

编辑:This是我得到的错误,它在setVisibitily行上出错了。

1 个答案:

答案 0 :(得分:2)

下次请将相关日志附加到您的问题中。它使事情变得如此简单......

无论如何,我在代码中看到的唯一错误原因是:

A。 textView.setVisibility()是从UI线程以外的线程调用的。如果是这种情况,请做一些类似解决问题的事情:

 myActivity.runOnUiThread(new Runnable() {
        public void run() {
            onSectionAttached(num);
        }
  });

B。在激活此代码之前,您没有在布局中调用setContentView()。

C。您的布局不包含名为textView1的TextView元素。在这种情况下,findViewById()将返回null,textView.setVisibility()将导致NPE。