Я использую support.v7.widget.Toolbar, и он не может найти панель инструментов по R.id.xyzname findviewbyid. Обе панели инструментов и панели инструментов возвращают нуль. Таким образом, код падает с NullPointer по адресу setSupportActionBar (панель инструментов).NullPointer при доступе к панели инструментов с findviewbyid android.support.v7.widget.Toolbar
То же приложение отлично работает при тестировании в устройстве с версией 23; Код падает с NullPointer при тестировании с помощью устройства с версией 16.
Вот моя деятельность
class classActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int currentApiVersion = Build.VERSION.SDK_INT;
mOpenHelper = new IncidentOpenHelper(getApplicationContext());
setContentView(R.layout.login);
AppBarLayout appBarLayout = (AppBarLayout) View.inflate(this, R.layout.app_toolbar, null);
// [the above code helped me solve the issue]
android.support.v7.widget.Toolbar toolbars = (android.support.v7.widget.Toolbar) appBarLayout.findViewById(R.id.app_bar_toolbar);
setSupportActionBar(toolbars);
client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
}
}
Вот мой layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="session_management.LoginActivity">
<include
layout="@layout/app_toolbar"/>
<!--
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/app_bar_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
-->
<LinearLayout
</Linear layout>
</android.support.design.widget.CoordinatorLayout>
здесь мои зависимости
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.http-client:google-http-client-jackson2:1.20.0'
compile 'com.google.api-client:google-api-client-android:1.20.0'
compile 'com.google.code.gson:gson:2.4'
compile project('libraries:volley')
/* androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'
*/
compile 'com.google.android.gms:play-services-appindexing:8.4.0'
compile project(':cloudendpoint')
вот мой app_toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/app_bar_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
Я боролся с этим в течение последних двух дней. Ищите SO и прочитайте также Документы Google. Любые указания или указатели приветствуются. –
Не понимаю ни слова. Не могли бы вы объяснить, почему голос? –
Наконец-то решила его после раздувания панели инструментов. android.support.v7.widget.Toolbar toolbars = (android.support.v7.widget.Toolbar) layout1.findViewById (R.id.app_bar_toolbar); Я обновил свой код. –