2016-04-20 5 views
2

をクリックします。ナビゲーション・ドロワーからアイテムをクリックして、下のシートを展開したいとします。ナビゲーション引き出しは本当に上手く動作します。ボトムシートはNavigationDrawerを開いていない、私は2つのナビゲーションの引き出しや私のアプリの一番下のシートを持っている

更新されたXML ....

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout 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/drawer_layout_widget" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:clickable="true" 
    android:focusableInTouchMode="true"> 

    <android.support.design.widget.CoordinatorLayout xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/bg_register" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior" 
      tools:context="com.ceatkelanisrilanka.dushanmadushanka.ceat.CeatMainActivity" 
      tools:showIn="@layout/activity_ceat_main"> 

      <include 
       android:id="@+id/app_bar" 
       layout="@layout/app_toolbar_welcome_menu"></include> 

      <com.rey.material.widget.ProgressView 
       android:id="@+id/pViewew" 
       cpd_strokeColor="@android:color/holo_red_dark" 
       cpd_strokeSecondaryColor="@android:color/holo_blue_bright" 
       cpd_strokeSize="25dp" 
       android:layout_width="50dp" 
       android:layout_height="50dp" 
       android:layout_alignTop="@+id/txtMonthSn" 
       android:layout_centerHorizontal="true" 
       app:pv_autostart="true" 
       app:pv_circular="true" 
       app:pv_progressMode="indeterminate" 
       app:pv_progressStyle="@style/Material.Drawable.CircularProgress" /> 

      <TextView 
       android:id="@+id/txtMonth" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignLeft="@+id/app_bar" 
       android:layout_alignStart="@+id/app_bar" 
       android:layout_below="@+id/app_bar" 
       android:layout_marginTop="2dp" 
       android:paddingLeft="10dp" 
       android:text="Month" 
       android:textColor="#ffffff" 
       android:textSize="24sp" /> 

      <TextView 
       android:id="@+id/txtMonthSn" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_alignTop="@+id/txtMonth" 
       android:paddingRight="10dp" 
       android:text="MonthSn" 
       android:textColor="#ffffff" 
       android:textSize="24sp" /> 


      <TextView 
       android:id="@+id/yearTextV" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignEnd="@+id/txtMonth" 
       android:layout_alignRight="@+id/txtMonth" 
       android:layout_below="@+id/txtMonth" 
       android:text="year" 
       android:textAppearance="?android:attr/textAppearanceSmall" 
       android:textColor="#ffffff" /> 

      <RelativeLayout 
       android:id="@+id/relativeLayout2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_above="@+id/relativeLayout" 
       android:layout_marginBottom="18dp"> 

       <com.github.lzyzsd.circleprogress.ArcProgress 
        android:id="@+id/arc_progress" 
        android:layout_width="220dp" 
        android:layout_height="220dp" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_alignParentTop="true" 
        android:layout_marginLeft="20dp" 
        android:layout_marginStart="20dp" 
        android:padding="5dp" /> 

      </RelativeLayout> 

      <!-- <com.github.lzyzsd.circleprogress.ArcProgress 
       android:id="@+id/arc_progress_two" 
       android:layout_width="100dp" 
       android:layout_height="100dp" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_marginEnd="20dp" 
       android:layout_marginRight="20dp" 
       android:padding="5dp" 
       app:arc_bottom_text="Precentage" />--> 
      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignBottom="@+id/relativeLayout2" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_marginBottom="22dp" 
       android:layout_marginEnd="20dp" 
       android:layout_marginRight="20dp" 
       android:gravity="center" 
       android:orientation="vertical"> 

       <com.hookedonplay.decoviewlib.DecoView 
        android:id="@+id/dynamicArcView" 
        android:layout_width="100dp" 
        android:layout_height="100dp" 
        android:padding="5dp" /> 

       <TextView 
        android:id="@+id/pView" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="0 %" 
        android:textColor="#4B73C4" 
        android:textSize="20sp" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Precentage" 
        android:textColor="#4B73C4" 
        android:textSize="15sp" /> 

      </LinearLayout> 


      <RelativeLayout 
       android:id="@+id/relativeLayout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_marginBottom="23dp" 
       android:paddingLeft="5dp" 
       android:paddingRight="5dp"> 

       <TextView 
        android:id="@+id/txtMtar" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_alignTop="@+id/txtTarget" 
        android:padding="5dp" 
        android:text="Monthly Target" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <TextView 
        android:id="@+id/txtPre" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_below="@+id/txtMAch" 
        android:layout_marginTop="40dp" 
        android:padding="5dp" 
        android:text="Percentage" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <TextView 
        android:id="@+id/txtMAch" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_marginTop="80dp" 
        android:padding="5dp" 
        android:text="Achievment" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <TextView 
        android:id="@+id/txtTarget" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_above="@+id/txtAchievement" 
        android:layout_alignLeft="@+id/txtAchievement" 
        android:layout_alignStart="@+id/txtAchievement" 
        android:layout_marginBottom="35dp" 
        android:padding="5dp" 
        android:text="M" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <TextView 
        android:id="@+id/txtAchievement" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_above="@+id/txtPre" 
        android:layout_centerHorizontal="true" 
        android:padding="5dp" 
        android:text="M" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <TextView 
        android:id="@+id/txtCollection" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBottom="@+id/txtPre" 
        android:layout_alignLeft="@+id/txtAchievement" 
        android:layout_alignStart="@+id/txtAchievement" 
        android:padding="5dp" 
        android:text="M" 
        android:textAppearance="?android:attr/textAppearanceMedium" 
        android:textColor="#ffffff" /> 

       <Button 
        android:id="@+id/bValue" 
        style="?android:attr/buttonStyleSmall" 
        android:layout_width="120dp" 
        android:layout_height="wrap_content" 
        android:layout_alignBaseline="@+id/txtAchievement" 
        android:layout_alignBottom="@+id/txtAchievement" 
        android:layout_alignLeft="@+id/bTon" 
        android:layout_alignStart="@+id/bTon" 
        android:text="Value" 
        android:textColor="@color/border_gray" /> 

       <Button 
        android:id="@+id/bTon" 
        style="?android:attr/buttonStyleSmall" 
        android:layout_width="120dp" 
        android:layout_height="wrap_content" 
        android:layout_alignParentEnd="true" 
        android:layout_alignParentRight="true" 
        android:layout_alignTop="@+id/txtTarget" 
        android:text="Ton" 
        android:textColor="@color/border_gray" /> 

       <Button 
        android:id="@+id/bCollection" 
        style="?android:attr/buttonStyleSmall" 
        android:layout_width="120dp" 
        android:layout_height="wrap_content" 
        android:layout_alignBottom="@+id/txtCollection" 
        android:layout_alignLeft="@+id/bValue" 
        android:layout_alignStart="@+id/bValue" 
        android:text="Collection" 
        android:textColor="@color/border_gray" /> 

      </RelativeLayout> 

     </RelativeLayout> 


     <include 
      android:id="@+id/bottom_sheet" 
      layout="@layout/bottom_sheet" /> 

    </android.support.design.widget.CoordinatorLayout> 

    <fragment 
     android:id="@+id/fragment_navigation_drawer" 
     android:name="com.ceatkelanisrilanka.dushanmadushanka.ceat.fragments.NavigationDrawerFragment" 
     android:layout_width="@dimen/nav_drawer_width" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:layout="@layout/fragment_navigation_drawer" 
     tools:layout="@layout/fragment_navigation_drawer"></fragment> 

    <fragment 
     android:id="@+id/month_navigation_drawer" 
     android:name="com.ceatkelanisrilanka.dushanmadushanka.ceat.fragments.MonthNavigationDrawerFragment" 
     android:layout_width="@dimen/month_nav_drawer_width" 
     android:layout_height="match_parent" 
     android:layout_gravity="end" 
     app:layout="@layout/month_navigation_drawer" 
     tools:layout="@layout/month_navigation_drawer"></fragment> 

</android.support.v4.widget.DrawerLayout> 

マイMonthNavigationDrawerFragment

recyclerView.addOnItemTouchListener(new RecycleTouchListner(getActivity(), recyclerView, new ClickListener() { 
      @Override 
      public void onClick(View view, int position) { 
       switch (position) { 
        case 0: 
         welcomeMenu.openBottomSheet(); 
         mDrawerlayout.closeDrawers(); 
         break; 

        case 1: 
        ...... 
       } 
      } 

     })); 
     return vieww; 
    } 

マイWelcomeMenuクラス

public class WelcomeMenu extends AppCompatActivity { 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.welcome_menu); 

      vollySingleton = VollySingleton.getsInstance(); 
      requestQueue = vollySingleton.getmRequestQueue(); 

      typeface = Typeface.createFromAsset(getAssets(), "helvr.ttf"); 
      snTypeFace = Typeface.createFromAsset(getAssets(), "DL_PARAS.TTF"); 
      welcomScreenTypeface = Typeface.createFromAsset(getAssets(), "productsans.ttf"); 

      progressView = (ProgressView) findViewById(R.id.pViewew); 

      bottomSheet = findViewById(R.id.bottom_sheet); 
      bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet); 
      initState = BottomSheetBehavior.STATE_COLLAPSED; 

      bottomSheet.post(new Runnable() { 
       @Override 
       public void run() { 
        bottomSheetBehavior.setState(initState); 
       } 
      }); 

      toolbar = (Toolbar) findViewById(R.id.app_bar); 
      setSupportActionBar(toolbar); 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
      getSupportActionBar().setTitle("Achivements"); 

      NavigationDrawerFragment navigationDrawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer); 
      navigationDrawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout_widget), toolbar); 

      MonthNavigationDrawerFragment monthNavigationDrawerFragment = (MonthNavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.month_navigation_drawer); 
      monthNavigationDrawerFragment.setUp(R.id.month_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout_widget), toolbar); 

      final Calendar calendar = Calendar.getInstance(); 
      SimpleDateFormat month_date = new SimpleDateFormat("MMMM"); 
      String month_name = month_date.format(calendar.getTime()); 
      int year_name = calendar.get(calendar.YEAR); 
      int monthNo = calendar.get(Calendar.MONTH); 

      txtTarget = (TextView) findViewById(R.id.txtTarget); 
      txtAchievement = (TextView) findViewById(R.id.txtAchievement); 
      txtCollection = (TextView) findViewById(R.id.txtCollection); 
      txtMonth = (TextView) findViewById(R.id.txtMonth); 
      txtMonthSn = (TextView) findViewById(R.id.txtMonthSn); 
      txtYear = (TextView) findViewById(R.id.yearTextV); 
      txtM_tar = (TextView) findViewById(R.id.txtMtar); 
      txtM_ach = (TextView) findViewById(R.id.txtMAch); 
      txtM_prec = (TextView) findViewById(R.id.txtPre); 
      arcProgress = (ArcProgress) findViewById(R.id.arc_progress); 
      pView = (TextView) findViewById(R.id.pView); 
      //arcProgressPrecentage = (ArcProgress) findViewById(R.id.arc_progress_two); 

      df = new SimpleDateFormat("yyyy-MM"); 
      systemDate = df.format(new Date()); 

      arcView = (DecoView) findViewById(R.id.dynamicArcView); 

      bTon = (Button) findViewById(R.id.bTon); 
      bValue = (Button) findViewById(R.id.bValue); 
      bCollection = (Button) findViewById(R.id.bCollection); 

      txtMonth.setText(month_name); 
      txtMonth.setTypeface(typeface); 
      txtM_prec.setTypeface(welcomScreenTypeface); 
      txtM_ach.setTypeface(welcomScreenTypeface); 
      txtM_tar.setTypeface(welcomScreenTypeface); 
      txtYear.setText(String.valueOf(year_name)); 

      db = new SQLiteHandler(getApplicationContext()); 

      // session manager 
      session = new SessionManager(getApplicationContext()); 

      if (!session.isLoggedIn()) { 
       logoutUser(); 
      } else { 
       //pass button click operation 
       getJsonRequest(bTon, bCollection, bValue, systemDate); 
      } 

     } 
public void openBottomSheet() { 
     bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet); 
     bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); 

    } 
} 

をクリックしrecyclerview LogCat

10:11:48.907 18943-18943/com.ceatkelanisrilanka.dushanmadushanka.ceat E/AndroidRuntime: FATAL EXCEPTION: main 
                           Process: com.ceatkelanisrilanka.dushanmadushanka.ceat, PID: 18943 
                           java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.BottomSheetBehavior.setState(int)' on a null object reference 
                            at com.ceatkelanisrilanka.dushanmadushanka.ceat.WelcomeMenu.openBottomSheet(WelcomeMenu.java:816) 
                            at com.ceatkelanisrilanka.dushanmadushanka.ceat.fragments.MonthNavigationDrawerFragment$1.onClick(MonthNavigationDrawerFragment.java:87) 
                            at com.ceatkelanisrilanka.dushanmadushanka.ceat.fragments.MonthNavigationDrawerFragment$RecycleTouchListner.onInterceptTouchEvent(MonthNavigationDrawerFragment.java:239) 
                            at android.support.v7.widget.RecyclerView.dispatchOnItemTouchIntercept(RecyclerView.java:2206) 
                            at android.support.v7.widget.RecyclerView.onInterceptTouchEvent(RecyclerView.java:2252) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1960) 
                            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106) 
                            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106) 
                            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106) 
                            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106) 
                            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106) 
                            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106) 
                            at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) 
                            at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106) 
                            at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2369) 
                            at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1719) 
                            at android.app.Activity.dispatchTouchEvent(Activity.java:2742) 
                            at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60) 
                            at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60) 
                            at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2330) 
                            at android.view.View.dispatchPointerEvent(View.java:8666) 
                            at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4123) 
                            at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3989) 
                            at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544) 
                            at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597) 
                            at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563) 
                            at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3680) 
                            at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571) 
                            at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3737) 
                            at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544) 
                            at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3597) 
                            at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3563) 
                            at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3571) 
                            at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3544) 
                            at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5807) 
                            at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5781) 
                            at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5752) 
                            at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5897) 
                            at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
                            at android.os.MessageQueue.nativePollOnce(Native Method) 
                           at android.os.MessageQueue.next(MessageQueue.jav 
04-20 10:16:48.999 18943-18943/com.ceatkelanisrilanka.dushanmadushanka.ceat I/Process: Sending signal. PID: 18943 SIG: 9 
+0

のラインを交換しようとボトムシート を開こうとすることができます ' bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED; ' –

+0

の可能性のある重複http://stackoverflow.com/questions/36110682/try-to-understand-the-behavior-of-bottomsheet-in-android-support-library-23-2 -1 –

答えて

1

最初のナビゲーション引き出しを閉じてから、ちょうどあなたがここにBottomSheet のヌルインスタンスに状態を設定しているlogcatに応じてコード

+0

まだ動作しておらず、画面に何も触れられません。だから私は私のXMLを変更し、私は新しいXMLを更新します。その後、nullpointexceptionが発生します。ログ猫も更新します –

関連する問題