はじめまして、Mentolといいます。
「ListViewのアイテムをクリックした際、別の画面に遷移する」
という事を実装しようとしています。
サンプルサイトを参考にコードを作成したのですが、
デバッグ中にアプリが強制終了してしまします。
デバッグ環境は実機「CP-F03a-KS」で
APIレベルは19です。
コードは下のような感じです。
Java
1import ... 2 3public class FirstActivity extends AppCompatActivity { 4 5 @Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_first); 9 10 11 // Listの中身の作成 12 int item_num = 5; 13 ArrayList<String> items = new ArrayList<String>(); 14 for(int i = 0; i < item_num; i++) { 15 String str = "アイテム" + item_num; 16 items.add(str); 17 } 18 19 // リストの作成 20 ListView item_list = (ListView)findViewById(R.id.itemList); 21 item_list.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, items)); 22 23 // クリックされた時の処理 24 item_list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 25 @Override 26 public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 27 Intent intent = new Intent(getApplicationContext(), SecondActivity.class); 28 intent.putExtra("item_num", position); 29 startActivity(intent); 30 } 31 }); 32 } 33}
やりたい処理は、
「'item_num'分のリストを表示して
アイテムクリック時に、クリックされたアイテムの情報を渡して画面を遷移する
遷移先で、渡されたデータを扱う」
という事です。
動的に作成したリストをクリックするというのがダメなのかなと思い
「Android ListView 動的 画面遷移」などで
調べても思ったような答えに辿りつけませんでした。
何がダメなのか知りたいです。
よろしくお願いします。
追記:
LogCatです。
Java
103-31 22:01:41.851 24476-24476/com.example.yasuhito.thefirstshopping25 E/AndroidRuntime: FATAL EXCEPTION: main 2 Process: com.example.yasuhito.thefirstshopping25, PID: 24476 3 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yasuhito.thefirstshopping25/com.example.yasuhito.thefirstshopping25.ShoppingResultActivity}: java.lang.NullPointerException 4 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 5 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 6 at android.app.ActivityThread.access$800(ActivityThread.java:135) 7 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 8 at android.os.Handler.dispatchMessage(Handler.java:102) 9 at android.os.Looper.loop(Looper.java:136) 10 at android.app.ActivityThread.main(ActivityThread.java:5017) 11 at java.lang.reflect.Method.invokeNative(Native Method) 12 at java.lang.reflect.Method.invoke(Method.java:515) 13 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 14 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 15 at dalvik.system.NativeStart.main(Native Method) 16 Caused by: java.lang.NullPointerException 17 at com.example.yasuhito.thefirstshopping25.MyClass.Place.<init>(Place.java:17) 18 at com.example.yasuhito.thefirstshopping25.MyClass.Masashi.offToShopping(Masashi.java:44) 19 at com.example.yasuhito.thefirstshopping25.ShoppingResultActivity.onCreate(ShoppingResultActivity.java:32) 20 at android.app.Activity.performCreate(Activity.java:5238) 21 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 22 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 23 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 24 at android.app.ActivityThread.access$800(ActivityThread.java:135) 25 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 26 at android.os.Handler.dispatchMessage(Handler.java:102) 27 at android.os.Looper.loop(Looper.java:136) 28 at android.app.ActivityThread.main(ActivityThread.java:5017) 29 at java.lang.reflect.Method.invokeNative(Native Method) 30 at java.lang.reflect.Method.invoke(Method.java:515) 31 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 32 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 33 at dalvik.system.NativeStart.main(Native Method)
回答2件
あなたの回答
tips
プレビュー