简体   繁体   中英

Void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

On the beginning - i tried all solutions.

Here is the error:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
                  at com.justfashion.ActivityMainWallet.onCreate(ActivityMainWallet.java:211)`

ActivityMainWallet.java:210-212 lines:

TextView navigationTotalCreditTextView = (TextView)mDrawerLay.findViewById(R.id.nav_drawer_total_credits);
    navigationTotalCreditTextView.setText("Total Credits: " + PreferenceConnector.readInteger(aiContext,
            PreferenceConnector.WALLETPOINTS,""));

XML:

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" > <TextView android:id="@+id/nav_drawer_wallet_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:gravity="center" android:textColor="@color/md_white_1000" android:textSize="@dimen/twentyfive" /> <TextView android:id="@+id/nav_drawer_total_credits" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:textColor="@color/md_white_1000" android:textSize="@dimen/twentyfive" /> <TextView android:id="@+id/nav_drawer_username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:gravity="center" android:textColor="@color/md_white_1000" android:textSize="@dimen/twentyfive" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:id="@+id/content_frame_container" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" android:layout_below="@+id/toolbar_app_bar_layout"> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> </RelativeLayout> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_below="@+id/toolbar_app_bar_layout" /> <android.support.design.widget.AppBarLayout android:id="@+id/toolbar_app_bar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <include android:id="@+id/toolbar" layout="@layout/toolbar" /> <android.support.design.widget.TabLayout xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/sliding_tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/toolbar" app:tabMode="scrollable" app:paddingStart="16dp" app:tabPaddingStart="16dp" app:tabPaddingEnd="16dp" app:tabMinWidth="96dp" app:tabGravity="center" /> </android.support.design.widget.AppBarLayout> </RelativeLayout> <android.support.design.widget.NavigationView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/navigation_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="start" android:background="@color/md_white_1000" app:headerLayout="@layout/nav_drawer_header" app:menu="@menu/menu_drawer" app:itemTextAppearance="@style/TextAppearance.AppCompat.Menu" android:clipToPadding="false"> <!--<FrameLayout--> <!--android:layout_width="match_parent"--> <!--android:layout_height="wrap_content"--> <!--android:layout_gravity="bottom"--> <!--android:background="@color/md_white_1000"--> <!--android:elevation="4dp"--> <!--android:layout_marginBottom="-96dp">--> <!--<Button android:id="@+id/navigation_button_footer"--> <!--android:layout_width="match_parent"--> <!--android:layout_height="match_parent"--> <!--android:text=""--> <!--android:textSize="13sp"--> <!--android:textColor="@color/md_grey_800"--> <!--android:lines="3"--> <!--android:gravity="center"--> <!--style="@style/Widget.AppCompat.ActionButton"--> <!--android:paddingTop="20dp"--> <!--android:paddingLeft="20dp"--> <!--android:paddingRight="20dp"--> <!--android:paddingBottom="20dp"/>--> <!--</FrameLayout>--> </android.support.design.widget.NavigationView> <RelativeLayout android:id="@+id/lay_connection" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="@dimen/actmain_margintop" android:background="#3c3c3c" android:visibility="gone" > <TextView android:id="@+id/text_error" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:gravity="center" android:text="@string/error_no_internet" android:textColor="@color/md_white_1000" android:textSize="@dimen/twentyfive" /> <RelativeLayout android:id="@+id/lay_dialog" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone" > <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/progressBar1" android:layout_centerHorizontal="true" android:text="@string/error_no_internet" android:textColor="@color/md_white_1000" android:textSize="@dimen/twentyfive" /> </RelativeLayout> </RelativeLayout> </android.support.v4.widget.DrawerLayout>

I tried everything. Is it a problem with PreferenceConnector? Here is PreferenceConnector.WALLETPOINTS,"")) in PreferenceConnection.java:

public static final String  WALLETPOINTS            = "walletpoints";

Help guys please! I tried every solution, but noone has got this error with PreferanceConnector.

#EDIT

Solved , but now i'm getting this error:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.Toolbar.setTitle(java.lang.CharSeq‌​uence)' on a null object reference at com.justfashion.ActivityMainWallet.onCreate(ActivityMainWall‌​et.java:251)

Try this;

TextView navigationTotalCreditTextView = (TextView)findViewById(R.id.nav_drawer_total_credits);
navigationTotalCreditTextView.setText("Total Credits: " + PreferenceConnector.readInteger(aiContext,
        PreferenceConnector.WALLETPOINTS,""));

The problem is that you are searching for TextView in wrong View.

You did this :

TextView navigationTotalCreditTextView = (TextView)mDrawerLay.findViewById(R.id.nav_drawer_total_credits);

But the text view is in mDrawerLayout . see below and also your xml.

mDrawerLayout   = (DrawerLayout)findViewById(R.id.drawer_layout);
mDrawerLay      = (NavigationView)findViewById(R.id.navigation_view);

to fix the problem do this :

TextView navigationTotalCreditTextView = (TextView)mDrawerLayout.findViewById(R.id.nav_drawer_total_credits);

I had this problem too. It take my time a lot. After working a day on it and helpless searching I found out that I have two layout from a layout for two different API level and I must change TextView id for both of them finally I solved it I hope it be helpful for others that are in a bad trouble like me

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

Related Question void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference at Home.onCreate How to resolve Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference (RecyclerView) Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference Adapter.Messageadapter.onBindViewHolder Recycler view android studioAttempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference Java Error: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference TensorFlow Lite Android App crashes with NullPointerException 'void android.widget.TextView.setText(java.lang.CharSequence)' on null object reference Recycler View - Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference RecyclerView: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference May be duplicated : Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM