一开始 - 我尝试了所有解决方案。
这是错误:
def get_id_list(person):
return [person.id] if hasattr(person, 'id') else []
ActivityMainWallet.java:210-212行:
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)`
XML:
TextView navigationTotalCreditTextView = (TextView)mDrawerLay.findViewById(R.id.nav_drawer_total_credits);
navigationTotalCreditTextView.setText("Total Credits: " + PreferenceConnector.readInteger(aiContext,
PreferenceConnector.WALLETPOINTS,""));

我尝试了一切。它是PreferenceConnector的问题吗?这是PreferenceConnection.java中的<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>
:
PreferenceConnector.WALLETPOINTS,""))
请帮帮我们!我尝试了所有解决方案,但没有人在PreferanceConnector中遇到此错误。
#EDIT
已解决,但现在我收到此错误:
public static final String WALLETPOINTS = "walletpoints";
答案 0 :(得分:1)
试试这个;
TextView navigationTotalCreditTextView = (TextView)findViewById(R.id.nav_drawer_total_credits);
navigationTotalCreditTextView.setText("Total Credits: " + PreferenceConnector.readInteger(aiContext,
PreferenceConnector.WALLETPOINTS,""));
答案 1 :(得分:1)
问题是您在错误的视图中搜索TextView。
你这样做了:
TextView navigationTotalCreditTextView = (TextView)mDrawerLay.findViewById(R.id.nav_drawer_total_credits);
但文字视图位于mDrawerLayout
。见下文以及你的xml。
mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);
mDrawerLay = (NavigationView)findViewById(R.id.navigation_view);
要解决问题,请执行以下操作:
TextView navigationTotalCreditTextView = (TextView)mDrawerLayout.findViewById(R.id.nav_drawer_total_credits);
答案 2 :(得分:0)
我也有这个问题。我花了很多时间。经过一天的工作和无助的搜索,我发现我有两个布局,分别来自两个不同的API级别,必须为两个API都更改TextView id,最后我解决了它,希望对其他人有所帮助。像我这样的大麻烦