2016-07-01 36 views
0

嘗試添加在主設計xml文件以外的佈局文件中定義的工具欄時獲取NullPointerException。我不斷收到以下錯誤:添加工具欄時獲取NullPointerException

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.support.v7.widget.Toolbar.findViewById(int)' on a null object reference 

這裏是我的代碼

public class History_List_Details_Fragment extends Fragment { 

Histroy_List_Model histroyListModel; 
public History_List_Details_Fragment() { 

} 

@Override 
public void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    histroyListModel = getArguments().getParcelable("historydetail"); 
    String title=histroyListModel.getShared_title(); 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ 

    super.onCreate(savedInstanceState); 


    View rootView = inflater.inflate(R.layout.history_list_details_fragment, container, false); 
    Toolbar toolbar = (Toolbar) rootView.findViewById(R.id.app_bar); 
    initializeListnersForToolbar(toolbar); 
    initializeViews(rootView); 

    return rootView; 
} 

private void initializeViews(View rootView) { 
    TextView titleText = (TextView) rootView.findViewById(R.id.txtTitle); 
    titleText.setText(histroyListModel.getShared_title()); 

    TextView messageTExt = (TextView) rootView.findViewById(R.id.txtMessage); 
    titleText.setText(histroyListModel.getShared_message()); 


} 

private void initializeListnersForToolbar(Toolbar toolbar){ 
    ((TextView) toolbar.findViewById(R.id.tool_bar_text_head)).setText(getResources().getString(R.string.friends)); 

    ((ImageView) toolbar.findViewById(R.id.tool_bar_back_arrow)).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Fragment fragment=new History_List_Fragment(); 

      Utilities.getInstance(getActivity()).change_HomPage_Fragment(
        fragment, "History_List_Fragment", getActivity()); 
     } 
    }); 
} 

}

History_List_Details_Fragment.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="68dp" 
     android:orientation="horizontal" 
     android:gravity="center"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="Title" 
      android:id="@+id/txtTitle" 
      android:layout_gravity="center" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="70dp" 
     android:orientation="horizontal" 
     android:gravity="center" > 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="Message" 
      android:id="@+id/txtMessage" 
      android:layout_gravity="center" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="70dp" 
     android:orientation="horizontal" 
     android:gravity="center"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="Duration" 
      android:id="@+id/txtDuration" 
      android:layout_gravity="center" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:gravity="center"> 

     <ListView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:id="@+id/lstMembers"></ListView> 

    </LinearLayout> 

</LinearLayout> 

我怎樣才能解決這個問題?

+1

把你的history_list_details_fragment xml代碼 –

回答

1

在 「history_list_details_fragment」 ID爲 「app_bar」

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:local="http://schemas.android.com/apk/res-auto" 
android:id="@+id/app_bar" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:minHeight="?attr/actionBarSize" 
android:background="?attr/colorPrimary" 
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="68dp" 
    android:orientation="horizontal" 
    android:gravity="center"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="Title" 
     android:id="@+id/txtTitle" 
     android:layout_gravity="center" /> 

</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="70dp" 
    android:orientation="horizontal" 
    android:gravity="center" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="Message" 
     android:id="@+id/txtMessage" 
     android:layout_gravity="center" /> 

</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="70dp" 
    android:orientation="horizontal" 
    android:gravity="center"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:text="Duration" 
     android:id="@+id/txtDuration" 
     android:layout_gravity="center" /> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:gravity="center"> 

    <ListView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:id="@+id/lstMembers"></ListView> 

</LinearLayout> 

1

的錯誤狀態清楚地添加工具欄。在history_list_details_fragment.xml裏面沒有Toolbar。嘗試添加它。

或者更可能是工具欄在你的Activity佈局,所以初始化它裏面Activity