更改Android TextView可见性时出现错误
问题描述:
我有这段代码,有人知道为什么我在手机上编译时遇到错误吗?更改Android 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线。
答
下次请将相关日志附加到您的问题。这让事情变得如此简单得多..
反正错误的唯一原因,我可以在代码中看到的是:
A. textView.setVisibility()从不是UI线程以外的线程调用。如果是这样的话,做这样的事情来解决你的问题:
myActivity.runOnUiThread(new Runnable() {
public void run() {
onSectionAttached(num);
}
});
B.您还没有叫的setContentView()到你的布局启动此代码之前。
C.您的布局不包含名为textView1的TextView元素。在这种情况下,findViewById()将返回null,并且textView.setVisibility()将导致NPE。
如何显示实际的错误? – James 2014-10-08 19:50:08
什么是错误?发布你的'getString'方法 – 2014-10-08 19:52:04
如果这是导致错误的原因,那么唯一可能的是布局中没有textView1,其他所有内容都是有效的,否则将不会编译。再说一遍,只有当这是造成某种错误的原因。 – zgc7009 2014-10-08 19:53:35