Swa*_*yam 3 tabs android visibility
if( ......)
{
tabHost.getTabWidget().getChildAt(0).setVisibility(View.GONE);
//to hide the first tab in the TabHost
}
Run Code Online (Sandbox Code Playgroud)
这段代码有什么问题吗?当我在onCreate()方法中添加此代码时应用程序崩溃..任何想法?
我的LogCat:
05-31 22:03:38.471: E/AndroidRuntime(598): Caused by: java.lang.NullPointerException 05-31 22:03:38.471: E/AndroidRuntime(598): at swayam.dev.mushtouch.MushTouchActivity.setVisibilityControls(MushTouchActivity.j??ava:75) 05-31 22:03:38.471: E/AndroidRuntime(598): at swayam.dev.mushtouch.MushTouchActivity.onCreate(MushTouchActivity.java:220) 05-31 22:03:38.471: E/AndroidRuntime(598): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 05-31 22:03:38.471: E/AndroidRuntime(598): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
Run Code Online (Sandbox Code Playgroud)
也尝试了这段代码.仍然不断崩溃.
getTabHost().getTabWidget().removeViewAt(0);
Run Code Online (Sandbox Code Playgroud)
wdz*_*mia 15
我的回答太长了,所以生病了.
到目前为止你有
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.getTabWidget().getChildAt(0).setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
您将获得NullPointerException,这意味着无论何时使用该行代码,您都会尝试更改屏幕上不存在的内容,或者可能更改屏幕外的内容.
检查R的Import语句.
在您的包声明下面,您应该具有以下内容:
import your.package.R;
Run Code Online (Sandbox Code Playgroud)
并不是
import android.R;
Run Code Online (Sandbox Code Playgroud)
修复后,当您引用标签主机时,请使用以下内容:
TabHost tabHost = (TabHost)findViewById(R.id.tabhost);
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请确保tabhost实际上在屏幕上,并且您不在单独的活动中.
| 归档时间: |
|
| 查看次数: |
8929 次 |
| 最近记录: |