方法调用 ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);可能会产生 NullPointerException
Method invocation ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false); may produce NullPointerException
我看到 ActionBarActivity 已被弃用。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Put the home button as an icon, without being an 'up' button and without title text
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
inflater.inflate(R.menu.template, menu); // Inflate the menu; this adds items to the action bar if it is present.
// tell the main activities view pager to enable paging
mViewPagerListener.SetViewPagerPagingEnabled(true);
super.onCreateOptionsMenu(menu, inflater);
}
我今天应该做什么呢?我个人在我的设备上测试时没有看到异常,但想解决这个问题以完成。它在 AndroidStudio 中以黄色突出显示并且 returns 警告。我该怎么办?
供参考:
apply plugin: 'com.android.application'
android {
compileSdkVersion 'Google Inc.:Google APIs:21'
buildToolsVersion '21.1.2'
defaultConfig {
applicationId "com.test.app"
minSdkVersion 14
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
//runProguard false
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.ogaclejapan.smarttablayout:library:1.5.0@aar'
compile 'com.github.antonyt:InfiniteViewPager:v1.0.0'
compile 'com.android.support:appcompat-v7:23.1.1'
// recyclerview
compile 'com.android.support:recyclerview-v7:23.1.1'
// google analytics
compile 'com.google.android.gms:play-services-analytics:8.3.0'
// pager sliding strip
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
// http library (for using beanstream REST)
compile 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
// amaazon S3 uploads
compile 'com.amazonaws:aws-android-sdk-s3:2.1.+'
// paypal purchasing
compile files('libs/PayPalAndroidSDK-2.7.1.jar')
// Module dependency on ParseLoginUI library sources
compile project(':ParseLoginUI')
// Parse libs
compile files('libs/ParseCrashReporting-1.9.2.jar')
compile files('libs/Parse-1.9.1.jar')
compile files('libs/ParseFacebookUtilsV4-1.9.1.jar')
// android support v4
compile files('libs/android-support-v4.jar')
// facebook SDK
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
//butterknife
compile 'com.jakewharton:butterknife:6.1.0'
// Subsampling-scale-image-view (for templating)
//compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.1.4'
compile files('libs/AppRater.jar')
}
ActionBarActivity
已弃用约 1 年。它的自然替代是AppCompatActivity
。要使用它,您需要添加
compile 'com.android.support:appcompat-v7:23.1.0'
作为 build.gradle
.
中的依赖项
getSupportActionBar()
returns null 如果您的主题是没有 ActionBar
的主题。如果您使用带有 ActionBar
的主题或使用 ToolBar
,那么您可以忽略该警告。如果你想确定检查 NPE
final ActionBar actionBar;
if (getActivity() != null && (actionBar = getActivity().getSupportActionBar()) != null) {
actionBar.setDisplayShowTitleEnabled(false);
}
我看到 ActionBarActivity 已被弃用。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Put the home button as an icon, without being an 'up' button and without title text
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
inflater.inflate(R.menu.template, menu); // Inflate the menu; this adds items to the action bar if it is present.
// tell the main activities view pager to enable paging
mViewPagerListener.SetViewPagerPagingEnabled(true);
super.onCreateOptionsMenu(menu, inflater);
}
我今天应该做什么呢?我个人在我的设备上测试时没有看到异常,但想解决这个问题以完成。它在 AndroidStudio 中以黄色突出显示并且 returns 警告。我该怎么办?
供参考:
apply plugin: 'com.android.application'
android {
compileSdkVersion 'Google Inc.:Google APIs:21'
buildToolsVersion '21.1.2'
defaultConfig {
applicationId "com.test.app"
minSdkVersion 14
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
//runProguard false
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.ogaclejapan.smarttablayout:library:1.5.0@aar'
compile 'com.github.antonyt:InfiniteViewPager:v1.0.0'
compile 'com.android.support:appcompat-v7:23.1.1'
// recyclerview
compile 'com.android.support:recyclerview-v7:23.1.1'
// google analytics
compile 'com.google.android.gms:play-services-analytics:8.3.0'
// pager sliding strip
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
// http library (for using beanstream REST)
compile 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
// amaazon S3 uploads
compile 'com.amazonaws:aws-android-sdk-s3:2.1.+'
// paypal purchasing
compile files('libs/PayPalAndroidSDK-2.7.1.jar')
// Module dependency on ParseLoginUI library sources
compile project(':ParseLoginUI')
// Parse libs
compile files('libs/ParseCrashReporting-1.9.2.jar')
compile files('libs/Parse-1.9.1.jar')
compile files('libs/ParseFacebookUtilsV4-1.9.1.jar')
// android support v4
compile files('libs/android-support-v4.jar')
// facebook SDK
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
//butterknife
compile 'com.jakewharton:butterknife:6.1.0'
// Subsampling-scale-image-view (for templating)
//compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.1.4'
compile files('libs/AppRater.jar')
}
ActionBarActivity
已弃用约 1 年。它的自然替代是AppCompatActivity
。要使用它,您需要添加
compile 'com.android.support:appcompat-v7:23.1.0'
作为 build.gradle
.
getSupportActionBar()
returns null 如果您的主题是没有 ActionBar
的主题。如果您使用带有 ActionBar
的主题或使用 ToolBar
,那么您可以忽略该警告。如果你想确定检查 NPE
final ActionBar actionBar;
if (getActivity() != null && (actionBar = getActivity().getSupportActionBar()) != null) {
actionBar.setDisplayShowTitleEnabled(false);
}