質問編集履歴
1
編集
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,9 +1,25 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            navigation drawer activityを使って、navigation drawerをカスタマイズしています。
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
            それぞれのnavigationがタップされた時に、処理を書きたいのですが、 
     | 
| 
      
 3 
     | 
    
         
            +
            それぞれのnavigationがタップされた時に、処理を書きたいのですが、エラーが出てしまいます。
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
      
 5 
     | 
    
         
            +
            MainからMember のintentに移ろうと、
         
     | 
| 
      
 6 
     | 
    
         
            +
            navigation drawerをタップするとエラーになります。
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            **Main-Member-Sub **
         
     | 
| 
      
 9 
     | 
    
         
            +
            と遷移したいです。
         
     | 
| 
      
 10 
     | 
    
         
            +
            main(navigation drawerで)
         
     | 
| 
      
 11 
     | 
    
         
            +
            Member(リストビューをタップ)
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            試しに
         
     | 
| 
      
 15 
     | 
    
         
            +
            MainからSubに移すとエラーなく行けました。
         
     | 
| 
      
 16 
     | 
    
         
            +
            Main-Memberに設定するとエラーが出ます。
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            何が原因でしょうか?
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            main
         
     | 
| 
       5 
21 
     | 
    
         
             
            ```ここに言語を入力
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
             @SuppressWarnings("StatementWithEmptyBody")
         
     | 
| 
       7 
23 
     | 
    
         
             
                @Override
         
     | 
| 
       8 
24 
     | 
    
         
             
                public boolean onNavigationItemSelected(MenuItem item) {
         
     | 
| 
       9 
25 
     | 
    
         
             
                    // Handle navigation view item clicks here.
         
     | 
| 
         @@ -12,14 +28,13 @@ 
     | 
|
| 
       12 
28 
     | 
    
         
             
                    if (id == R.id.nav_corporate) {
         
     | 
| 
       13 
29 
     | 
    
         
             
                        // Handle the camera action
         
     | 
| 
       14 
30 
     | 
    
         
             
                    } else if (id == R.id.nav_member) {
         
     | 
| 
       15 
     | 
    
         
            -
                       
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
      
 31 
     | 
    
         
            +
                      //こんな感じ????
         
     | 
| 
       17 
     | 
    
         
            -
                         MenuItem nav_member = (MenuItem) findViewById(R.id.nav_member);
         
     | 
| 
       18 
     | 
    
         
            -
                        nav_member.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener){
         
     | 
| 
       19 
     | 
    
         
            -
                           
         
     | 
| 
       20 
     | 
    
         
            -
                          };
         
     | 
| 
       21 
     | 
    
         
            -
                  
         
     | 
| 
       22 
32 
     | 
    
         | 
| 
      
 33 
     | 
    
         
            +
                        Intent member_intent = new Intent();
         
     | 
| 
      
 34 
     | 
    
         
            +
                        member_intent.setClassName("com.example.navigationdrawer", "com.example.navigationdrawer.Member");
         
     | 
| 
      
 35 
     | 
    
         
            +
                        startActivity(member_intent);
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
       23 
38 
     | 
    
         
             
                    } else if (id == R.id.nav_history) {
         
     | 
| 
       24 
39 
     | 
    
         | 
| 
       25 
40 
     | 
    
         
             
                    } else if (id == R.id.nav_business) {
         
     | 
| 
         @@ -32,47 +47,102 @@ 
     | 
|
| 
       32 
47 
     | 
    
         
             
                    drawer.closeDrawer(GravityCompat.START);
         
     | 
| 
       33 
48 
     | 
    
         
             
                    return true;
         
     | 
| 
       34 
49 
     | 
    
         
             
                }
         
     | 
| 
       35 
     | 
    
         
            -
            }
         
     | 
| 
       36 
50 
     | 
    
         
             
            ```
         
     | 
| 
       37 
51 
     | 
    
         | 
| 
      
 52 
     | 
    
         
            +
            Member.java
         
     | 
| 
       38 
53 
     | 
    
         
             
            ```ここに言語を入力
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
      
 54 
     | 
    
         
            +
            public class Member extends AppCompatActivity {
         
     | 
| 
       40 
     | 
    
         
            -
                        nav_member.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener)
         
     | 
| 
       41 
     | 
    
         
            -
            ```
         
     | 
| 
       42 
55 
     | 
    
         | 
| 
       43 
     | 
    
         
            -
            ボタンのクリックリスナーと同じようにこんな感じでいいんでしょうか?
         
     | 
| 
       44 
56 
     | 
    
         | 
| 
      
 57 
     | 
    
         
            +
                private ListView listView;
         
     | 
| 
      
 58 
     | 
    
         
            +
                ArrayList<MemberProfile> memberProfilesList;
         
     | 
| 
       45 
59 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
            ちなみに、カアスタマイズしたテキストはこんな感じです。
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 60 
     | 
    
         
            +
                @Override
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
      
 61 
     | 
    
         
            +
                protected void onCreate(Bundle savedInstanceState) {
         
     | 
| 
      
 62 
     | 
    
         
            +
                    super.onCreate(savedInstanceState);
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
      
 63 
     | 
    
         
            +
                    setContentView(R.layout.content_main);
         
     | 
| 
       50 
64 
     | 
    
         | 
| 
       51 
     | 
    
         
            -
                <group android:checkableBehavior="single">
         
     | 
| 
       52 
     | 
    
         
            -
                    <item
         
     | 
| 
       53 
     | 
    
         
            -
                        android:id="@+id/nav_corporate"
         
     | 
| 
       54 
     | 
    
         
            -
                        android:title="会社概要" />
         
     | 
| 
       55 
     | 
    
         
            -
                    <item
         
     | 
| 
       56 
     | 
    
         
            -
                        android:id="@+id/nav_member"
         
     | 
| 
       57 
     | 
    
         
            -
                        android:title="メンバー" />
         
     | 
| 
       58 
     | 
    
         
            -
                    <item
         
     | 
| 
       59 
     | 
    
         
            -
                        android:id="@+id/nav_history"
         
     | 
| 
       60 
     | 
    
         
            -
                        android:title="沿革" />
         
     | 
| 
       61 
     | 
    
         
            -
                    <item
         
     | 
| 
       62 
     | 
    
         
            -
                        android:id="@+id/nav_business"
         
     | 
| 
       63 
     | 
    
         
            -
                        android:title="事業紹介" />
         
     | 
| 
       64 
     | 
    
         
            -
                </group>
         
     | 
| 
       65 
65 
     | 
    
         | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
      
 66 
     | 
    
         
            +
                    listView = (ListView)findViewById(R.id.listView1);
         
     | 
| 
       67 
67 
     | 
    
         | 
| 
       68 
     | 
    
         
            -
                    <menu>
         
     | 
| 
       69 
     | 
    
         
            -
                        <item
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
      
 68 
     | 
    
         
            +
                    //アレイリストのインスタンスを作成 
         
     | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
      
 69 
     | 
    
         
            +
                    memberProfilesList = new ArrayList<>();
         
     | 
| 
      
 70 
     | 
    
         
            +
                    memberProfilesList.add(new MemberProfile("吉田拓郎","農家",R.drawable.human,"農家の吉田拓郎です。最近の趣味はアイスホッケー。好きな食べ物はドリアとピザです。"));
         
     | 
| 
      
 71 
     | 
    
         
            +
                    memberProfilesList.add(new MemberProfile("静岡じゅん","広報", R.drawable.human1,"広報担当のじゅんです。プリンが大好物!"));
         
     | 
| 
      
 72 
     | 
    
         
            +
                    memberProfilesList.add(new MemberProfile("ケイティ・スチュワート","広報", R.drawable.human2,"Hi I'm Katie. My job is PR and SNS manager."));
         
     | 
| 
      
 73 
     | 
    
         
            +
              
         
     | 
| 
       72 
74 
     | 
    
         | 
| 
       73 
     | 
    
         
            -
                     
     | 
| 
      
 75 
     | 
    
         
            +
                    //配列を保持するアダプターのインスタンスと引数を設定
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
      
 76 
     | 
    
         
            +
                    //ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, profiles);
         
     | 
| 
       75 
77 
     | 
    
         | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
      
 78 
     | 
    
         
            +
                    CustomAdapter customAdapter = new CustomAdapter(this, memberProfilesList);
         
     | 
| 
       77 
79 
     | 
    
         | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
                    //アダプターをリストビューのインスタンスに設定
         
     | 
| 
      
 82 
     | 
    
         
            +
                    listView.setAdapter(customAdapter);
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
                    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
         
     | 
| 
      
 86 
     | 
    
         
            +
                        @Override
         
     | 
| 
      
 87 
     | 
    
         
            +
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
                            MemberProfile memberProfile = (MemberProfile)listView.getItemAtPosition(position);
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
                            Intent sub = new Intent();
         
     | 
| 
      
 92 
     | 
    
         
            +
                            sub.putExtra("list_names", memberProfile.getName());
         
     | 
| 
      
 93 
     | 
    
         
            +
                            sub.putExtra("list_jobs",memberProfile.getJob());
         
     | 
| 
      
 94 
     | 
    
         
            +
                            sub.putExtra("list_images",memberProfile.getImage());
         
     | 
| 
      
 95 
     | 
    
         
            +
                            sub.putExtra("list_comments",memberProfile.getComment());
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                            sub.setClassName("com.example.navigationdrawer", "com.example.navigationdrawer.SubActivity");
         
     | 
| 
      
 99 
     | 
    
         
            +
                            startActivity(sub);
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                        }
         
     | 
| 
      
 102 
     | 
    
         
            +
                    });
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
                }
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            }
         
     | 
| 
      
 112 
     | 
    
         
            +
            ```
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
            エラー
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
            ```ここに言語を入力
         
     | 
| 
      
 119 
     | 
    
         
            +
            FATAL EXCEPTION: main
         
     | 
| 
      
 120 
     | 
    
         
            +
                                                                                          Process: com.example.navigationdrawer, PID: 19942
         
     | 
| 
      
 121 
     | 
    
         
            +
                                                                                          java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.navigationdrawer/com.example.navigationdrawer.Member}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
         
     | 
| 
      
 122 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2320)
         
     | 
| 
      
 123 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2380)
         
     | 
| 
      
 124 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.access$800(ActivityThread.java:151)
         
     | 
| 
      
 125 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285)
         
     | 
| 
      
 126 
     | 
    
         
            +
                                                                                              at android.os.Handler.dispatchMessage(Handler.java:102)
         
     | 
| 
      
 127 
     | 
    
         
            +
                                                                                              at android.os.Looper.loop(Looper.java:135)
         
     | 
| 
      
 128 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.main(ActivityThread.java:5289)
         
     | 
| 
      
 129 
     | 
    
         
            +
                                                                                              at java.lang.reflect.Method.invoke(Native Method)
         
     | 
| 
      
 130 
     | 
    
         
            +
                                                                                              at java.lang.reflect.Method.invoke(Method.java:372)
         
     | 
| 
      
 131 
     | 
    
         
            +
                                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
         
     | 
| 
      
 132 
     | 
    
         
            +
                                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
         
     | 
| 
      
 133 
     | 
    
         
            +
                                                                                           Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
         
     | 
| 
      
 134 
     | 
    
         
            +
                                                                                              at com.example.navigationdrawer.Member.onCreate(Member.java:54)
         
     | 
| 
      
 135 
     | 
    
         
            +
                                                                                              at android.app.Activity.performCreate(Activity.java:6018)
         
     | 
| 
      
 136 
     | 
    
         
            +
                                                                                              at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
         
     | 
| 
      
 137 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2273)
         
     | 
| 
      
 138 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2380) 
         
     | 
| 
      
 139 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.access$800(ActivityThread.java:151) 
         
     | 
| 
      
 140 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285) 
         
     | 
| 
      
 141 
     | 
    
         
            +
                                                                                              at android.os.Handler.dispatchMessage(Handler.java:102) 
         
     | 
| 
      
 142 
     | 
    
         
            +
                                                                                              at android.os.Looper.loop(Looper.java:135) 
         
     | 
| 
      
 143 
     | 
    
         
            +
                                                                                              at android.app.ActivityThread.main(ActivityThread.java:5289) 
         
     | 
| 
      
 144 
     | 
    
         
            +
                                                                                              at java.lang.reflect.Method.invoke(Native Method) 
         
     | 
| 
      
 145 
     | 
    
         
            +
                                                                                              at java.lang.reflect.Method.invoke(Method.java:372) 
         
     | 
| 
      
 146 
     | 
    
         
            +
                                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
         
     | 
| 
      
 147 
     | 
    
         
            +
                                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
         
     | 
| 
       78 
148 
     | 
    
         
             
            ```
         
     |