質問編集履歴

1

編集

2016/03/31 10:51

投稿

masaakitsuyoshi
masaakitsuyoshi

スコア102

test CHANGED
File without changes
test CHANGED
@@ -2,13 +2,45 @@
2
2
 
3
3
 
4
4
 
5
- それぞれのnavigationがタップされた時に、処理を書きたいのですが、下記のような感じで合っていますか?
5
+ それぞれのnavigationがタップされた時に、処理を書きたいのですが、エラーが出しまいます
6
+
7
+
8
+
6
-
9
+ MainからMember のintentに移ろうと、
10
+
7
-
11
+ navigation drawerをタップするとエラーになります。
12
+
13
+
14
+
15
+ **Main-Member-Sub **
16
+
17
+ と遷移したいです。
18
+
19
+ main(navigation drawerで)
20
+
21
+ Member(リストビューをタップ)
22
+
23
+
24
+
25
+
26
+
27
+ 試しに
28
+
29
+ MainからSubに移すとエラーなく行けました。
30
+
31
+ Main-Memberに設定するとエラーが出ます。
32
+
33
+
34
+
35
+ 何が原因でしょうか?
36
+
37
+
38
+
39
+ main
8
40
 
9
41
  ```ここに言語を入力
10
42
 
11
- @SuppressWarnings("StatementWithEmptyBody")
43
+ @SuppressWarnings("StatementWithEmptyBody")
12
44
 
13
45
  @Override
14
46
 
@@ -26,19 +58,17 @@
26
58
 
27
59
  } else if (id == R.id.nav_member) {
28
60
 
29
-
30
-
31
- //こんな感じ??????
61
+ //こんな感じ????
32
-
62
+
63
+
64
+
33
- MenuItem nav_member = (MenuItem) findViewById(R.id.nav_member);
65
+ Intent member_intent = new Intent();
34
-
66
+
35
- nav_member.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener){
67
+ member_intent.setClassName("com.example.navigationdrawer", "com.example.navigationdrawer.Member");
36
-
37
-
38
-
68
+
39
- };
69
+ startActivity(member_intent);
40
-
41
-
70
+
71
+
42
72
 
43
73
 
44
74
 
@@ -66,90 +96,200 @@
66
96
 
67
97
  }
68
98
 
99
+ ```
100
+
101
+
102
+
103
+ Member.java
104
+
105
+ ```ここに言語を入力
106
+
107
+ public class Member extends AppCompatActivity {
108
+
109
+
110
+
111
+
112
+
113
+ private ListView listView;
114
+
115
+ ArrayList<MemberProfile> memberProfilesList;
116
+
117
+
118
+
119
+ @Override
120
+
121
+ protected void onCreate(Bundle savedInstanceState) {
122
+
123
+ super.onCreate(savedInstanceState);
124
+
125
+ setContentView(R.layout.content_main);
126
+
127
+
128
+
129
+
130
+
131
+ listView = (ListView)findViewById(R.id.listView1);
132
+
133
+
134
+
135
+ //アレイリストのインスタンスを作成
136
+
137
+ memberProfilesList = new ArrayList<>();
138
+
139
+ memberProfilesList.add(new MemberProfile("吉田拓郎","農家",R.drawable.human,"農家の吉田拓郎です。最近の趣味はアイスホッケー。好きな食べ物はドリアとピザです。"));
140
+
141
+ memberProfilesList.add(new MemberProfile("静岡じゅん","広報", R.drawable.human1,"広報担当のじゅんです。プリンが大好物!"));
142
+
143
+ memberProfilesList.add(new MemberProfile("ケイティ・スチュワート","広報", R.drawable.human2,"Hi I'm Katie. My job is PR and SNS manager."));
144
+
145
+
146
+
147
+
148
+
149
+ //配列を保持するアダプターのインスタンスと引数を設定
150
+
151
+ //ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, profiles);
152
+
153
+
154
+
155
+ CustomAdapter customAdapter = new CustomAdapter(this, memberProfilesList);
156
+
157
+
158
+
159
+
160
+
161
+ //アダプターをリストビューのインスタンスに設定
162
+
163
+ listView.setAdapter(customAdapter);
164
+
165
+
166
+
167
+
168
+
169
+ listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
170
+
171
+ @Override
172
+
173
+ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
174
+
175
+
176
+
177
+ MemberProfile memberProfile = (MemberProfile)listView.getItemAtPosition(position);
178
+
179
+
180
+
181
+ Intent sub = new Intent();
182
+
183
+ sub.putExtra("list_names", memberProfile.getName());
184
+
185
+ sub.putExtra("list_jobs",memberProfile.getJob());
186
+
187
+ sub.putExtra("list_images",memberProfile.getImage());
188
+
189
+ sub.putExtra("list_comments",memberProfile.getComment());
190
+
191
+
192
+
193
+
194
+
195
+ sub.setClassName("com.example.navigationdrawer", "com.example.navigationdrawer.SubActivity");
196
+
197
+ startActivity(sub);
198
+
199
+
200
+
201
+ }
202
+
203
+ });
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+ }
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
69
221
  }
70
222
 
71
223
  ```
72
224
 
73
225
 
74
226
 
227
+
228
+
229
+ エラー
230
+
231
+
232
+
233
+
234
+
75
235
  ```ここに言語を入力
76
236
 
77
- MenuItem nav_member = (MenuItem) findViewById(R.id.nav_member);
78
-
79
- nav_member.setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener)
237
+ FATAL EXCEPTION: main
238
+
239
+ Process: com.example.navigationdrawer, PID: 19942
240
+
241
+ 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
242
+
243
+ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2320)
244
+
245
+ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2380)
246
+
247
+ at android.app.ActivityThread.access$800(ActivityThread.java:151)
248
+
249
+ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285)
250
+
251
+ at android.os.Handler.dispatchMessage(Handler.java:102)
252
+
253
+ at android.os.Looper.loop(Looper.java:135)
254
+
255
+ at android.app.ActivityThread.main(ActivityThread.java:5289)
256
+
257
+ at java.lang.reflect.Method.invoke(Native Method)
258
+
259
+ at java.lang.reflect.Method.invoke(Method.java:372)
260
+
261
+ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
262
+
263
+ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
264
+
265
+ Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference
266
+
267
+ at com.example.navigationdrawer.Member.onCreate(Member.java:54)
268
+
269
+ at android.app.Activity.performCreate(Activity.java:6018)
270
+
271
+ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
272
+
273
+ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2273)
274
+
275
+ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2380) 
276
+
277
+ at android.app.ActivityThread.access$800(ActivityThread.java:151) 
278
+
279
+ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285) 
280
+
281
+ at android.os.Handler.dispatchMessage(Handler.java:102) 
282
+
283
+ at android.os.Looper.loop(Looper.java:135) 
284
+
285
+ at android.app.ActivityThread.main(ActivityThread.java:5289) 
286
+
287
+ at java.lang.reflect.Method.invoke(Native Method) 
288
+
289
+ at java.lang.reflect.Method.invoke(Method.java:372) 
290
+
291
+ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
292
+
293
+ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
80
294
 
81
295
  ```
82
-
83
-
84
-
85
- ボタンのクリックリスナーと同じようにこんな感じでいいんでしょうか?
86
-
87
-
88
-
89
-
90
-
91
- ちなみに、カアスタマイズしたテキストはこんな感じです。
92
-
93
- ```ここに言語を入力
94
-
95
- <?xml version="1.0" encoding="utf-8"?>
96
-
97
- <menu xmlns:android="http://schemas.android.com/apk/res/android">
98
-
99
-
100
-
101
- <group android:checkableBehavior="single">
102
-
103
- <item
104
-
105
- android:id="@+id/nav_corporate"
106
-
107
- android:title="会社概要" />
108
-
109
- <item
110
-
111
- android:id="@+id/nav_member"
112
-
113
- android:title="メンバー" />
114
-
115
- <item
116
-
117
- android:id="@+id/nav_history"
118
-
119
- android:title="沿革" />
120
-
121
- <item
122
-
123
- android:id="@+id/nav_business"
124
-
125
- android:title="事業紹介" />
126
-
127
- </group>
128
-
129
-
130
-
131
- <item android:title="その他">
132
-
133
-
134
-
135
- <menu>
136
-
137
- <item
138
-
139
- android:id="@+id/nav_contact"
140
-
141
- android:title="連絡先" />
142
-
143
-
144
-
145
- </menu>
146
-
147
- </item>
148
-
149
-
150
-
151
- </menu>
152
-
153
-
154
-
155
- ```