質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

2887閲覧

【Kotlin】リスト押下時に画面遷移でアプリが強制終了する

kenta0228

総合スコア20

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/05/05 03:17

編集2020/05/05 06:33

書籍:『基礎&応用力をしっかり育成!Androidアプリ開発の教科書」
”7.2:Androidの画面遷移”で表示されるリスト画面で選択するとアプリが強制終了されてしまう症状が解決できず困っています。

発生している問題・エラーメッセージ

エラーメッセージ
エラー表示なし。
リスト選択でアプリが強制終了。

該当のソースコード

言語名:Kotlin
ソースコード
【MainActivity.kt】
package com.example.kenta.intentsample

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import android.widget.ListView
import android.widget.SimpleAdapter

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //画面部品ListViewを取得 val lvMenu = findViewById<ListView>(R.id.lvMenu) //SimpleAdapterで使用するMutableListオブジェクトを用意。 val menuList: MutableList<MutableMap<String, String>> = mutableListOf() //「から揚げ定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 var menu = mutableMapOf("name" to "から揚げ定食", "price" to "800円") menuList.add(menu) //「ハンバーグ定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "ハンバーグ定食", "price" to "850円") menuList.add(menu) //「生姜焼き定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "生姜焼き定食", "price" to "850円") menuList.add(menu) //「ステーキ定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "ステーキ定食", "price" to "1000円") menuList.add(menu) //「野菜炒め定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "野菜炒め定食", "price" to "750円") menuList.add(menu) //「とんかつ定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "とんかつ定食", "price" to "900円") menuList.add(menu) //「ミンチかつ定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "ミンチかつ定食", "price" to "850円") menuList.add(menu) //「チキンカツ定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "チキンカツ定食", "price" to "900円") menuList.add(menu) //「コロッケ定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "コロッケ定食", "price" to "850円") menuList.add(menu) //「焼き魚定食」のデータを格納するMapオブジェクトの用意とmenuListへのデータ登録。 menu = mutableMapOf("name" to "焼き魚定食", "price" to "750円") menuList.add(menu) //SimpleAdapter第4引数from用データの用意。 val from = arrayOf("name", "price") //SimpleAdapter第5引数to用データの用意。 val to = intArrayOf(android.R.id.text1, android.R.id.text2) //SimpleAdapterを生成。 val adapter = SimpleAdapter(applicationContext, menuList, android.R.layout.simple_list_item_2, from, to) //アダプタの登録。 lvMenu.adapter = adapter //リストタップのリスナクラス登録 lvMenu.onItemClickListener = ListItemClickListener() } //リストがタップされた時の処理が記述されたメンバクラス。 private inner class ListItemClickListener : AdapterView.OnItemClickListener { override fun onItemClick(parent: AdapterView<*>, view: View, position: Int, id: Long) { //タップされた行のデータを取得。SimpleAdapterでは1行分のデータはMutableMap型! val item = parent.getItemIdAtPosition(position) as MutableMap<String, String> //定食名と金額を取得。 val menuName = item["name"] val menuPrice = item["price"] //インテントオブジェクトを生成。 val intent = Intent(applicationContext, MenuThanksActivity::class.java) //第2画面に送るデータを格納。 intent.putExtra("menuName", menuName) intent.putExtra("menuPrice", menuPrice) //第2画面の起動。 startActivity(intent) } }

}

【MenuThanksActivity.kt】
package com.example.kenta.intentsample

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.TextView

class MenuThanksActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_menu_thanks) //リスト画面から渡されたデータを取得。 val menuName = intent.getStringExtra("menuName") val menuPrice = intent.getStringExtra("menuPrice") //定食名と金額を表示させるTextViewを取得。 val tvMenuName = findViewById<TextView>(R.id.tvMenuName) val tvMenuPrice = findViewById<TextView>(R.id.tvMenuPrice) //TextViewに定食名と金額を表示。 tvMenuName.text = menuName tvMenuPrice.text = menuPrice } //戻るボタンをタップした時の処理。 fun onBackButtonClick(view: View){ finish() }

}

【activity_main.xml】

<?xml version="1.0" encoding="utf-8"?>

<ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/lvMenu" android:layout_width="match_parent" android:layout_height="match_parent"/>

【activity_menu_thanks.xml】

<?xml version="1.0" encoding="utf-8"?>

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

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_gravity="center" android:text="@string/tv_thx_title" android:textSize="25sp"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:text="@string/tv_thx_desc" android:textSize="15sp"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/tvMenuName" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"/> <TextView android:id="@+id/tvMenuPrice" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="onBackButtonClick" android:text="@string/bt_thx_back"/>
</LinearLayout>

試したこと

先ほどソースコードを貼り付けたつもりですが、貼り付けできておりませんでした。
申し訳ありません。

補足情報(FW/ツールのバージョンなど)

Mac版 AndroidStudi3.6.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/05/05 05:19 編集

最低限エラーがおこるコードを書いてください。 書籍のここと言われても、質問を見た人全員がその本を持っているわけではないので答えようがありません。
kenta0228

2020/05/05 06:34

ソースコードも貼り付けたことを確認して掲載したつもりが、記載されておりませんでした。言われる通り、その本を全員持っているわけではありませんので申し訳ありませんでした。ご指摘いただきありがとうございます。
nakasho_dev

2020/05/05 08:30

[質問するときのヒント](https://teratail.com/help/question-tips)を良く読んで、ソースコードを見せる際にタグで囲むなどの対応をしましょう。また、エラーが起こらないというのはLogcatにも出ないということでしょうか?
kenta0228

2020/05/06 05:18

nakasho_dev様 アドバイスいただきありがとうございます。 今後記載する際お教え頂いたヒントを参考に記載していけるようにします。 また、Logcatには表示がありました。実行時にエラー表示されなかったため勘違いしてエラー表示なしとしてしまっておりました。
guest

回答1

0

ベストアンサー

エラー表示なし。

と記述されていますが、Android StudioのLogCatを閲覧すると次のようなエラーが出力されているはずです。

text

12020-05-05 17:36:21.830 15697-15697/com.example.kenta.intentsample E/InputEventReceiver: Exception dispatching input event. 22020-05-05 17:36:21.830 15697-15697/com.example.kenta.intentsample E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback 32020-05-05 17:36:21.831 15697-15697/com.example.kenta.intentsample E/MessageQueue-JNI: java.lang.ClassCastException: java.lang.Long cannot be cast to java.util.Map 4 at com.example.kenta.intentsample.MainActivity$ListItemClickListener.onItemClick(MainActivity.kt:68) 5 at android.widget.AdapterView.performItemClick(AdapterView.java:318) 6 at android.widget.AbsListView.performItemClick(AbsListView.java:1159) 7 at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136) 8 at android.widget.AbsListView.onTouchUp(AbsListView.java:4064) 9 at android.widget.AbsListView.onTouchEvent(AbsListView.java:3822) 10 at android.view.View.dispatchTouchEvent(View.java:12513) 11 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) 12 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) 13 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 14 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 15 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 16 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 17 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 18 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 19 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 20 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 21 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 22 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 23 at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:440) 24 at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1830) 25 at android.app.Activity.dispatchTouchEvent(Activity.java:3400) 26 at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) 27 at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:398) 28 at android.view.View.dispatchPointerEvent(View.java:12752) 29 at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5106) 30 at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4909) 31 at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 32 at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479) 33 at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445) 34 at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4585) 35 at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453) 36 at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4642) 37 at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 38 at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479) 39 at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445) 40 at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453) 41 at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 42 at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7092) 43 at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7061) 44 at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7022) 45 at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7195) 46 at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186) 47 at android.os.MessageQueue.nativePollOnce(Native Method) 48 at android.os.MessageQueue.next(MessageQueue.java:326) 49 at android.os.Looper.loop(Looper.java:160) 50 at android.app.ActivityThread.main(ActivityThread.java:6669) 51 at java.lang.reflect.Method.invoke(Native Method) 52 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 53 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 542020-05-05 17:36:21.832 15697-15697/com.example.kenta.intentsample D/AndroidRuntime: Shutting down VM 552020-05-05 17:36:21.832 15697-15697/com.example.kenta.intentsample E/AndroidRuntime: FATAL EXCEPTION: main 56 Process: com.example.kenta.intentsample, PID: 15697 57 java.lang.ClassCastException: java.lang.Long cannot be cast to java.util.Map 58 at com.example.kenta.intentsample.MainActivity$ListItemClickListener.onItemClick(MainActivity.kt:68) 59 at android.widget.AdapterView.performItemClick(AdapterView.java:318) 60 at android.widget.AbsListView.performItemClick(AbsListView.java:1159) 61 at android.widget.AbsListView$PerformClick.run(AbsListView.java:3136) 62 at android.widget.AbsListView.onTouchUp(AbsListView.java:4064) 63 at android.widget.AbsListView.onTouchEvent(AbsListView.java:3822) 64 at android.view.View.dispatchTouchEvent(View.java:12513) 65 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3024) 66 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2705) 67 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 68 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 69 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 70 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 71 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 72 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 73 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 74 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 75 at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3030) 76 at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2719) 77 at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:440) 78 at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1830) 79 at android.app.Activity.dispatchTouchEvent(Activity.java:3400) 80 at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) 81 at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:398) 82 at android.view.View.dispatchPointerEvent(View.java:12752) 83 at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5106) 84 at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4909) 85 at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 86 at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479) 87 at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445) 88 at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4585) 89 at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453) 90 at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4642) 91 at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 92 at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4479) 93 at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4445) 94 at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4453) 95 at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4426) 96 at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7092) 97 at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7061) 98 at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7022) 99 at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7195) 100 at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186) 101 at android.os.MessageQueue.nativePollOnce(Native Method) 102 at android.os.MessageQueue.next(MessageQueue.java:326) 103 at android.os.Looper.loop(Looper.java:160) 104 at android.app.ActivityThread.main(ActivityThread.java:6669) 105 at java.lang.reflect.Method.invoke(Native Method) 106 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 107 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Android Stduioに限ったことではありませんが、開発環境を使ったプログラムのデバッグでは、こうしたログ情報を参照すること、その読み方を覚えることが極めて重要です。

これによると、MainActivity.ktの68行目で、Long型からMap型への不可能なキャストが行われていることが読み取れます。当該行を確認すると、

kotlin

1 //タップされた行のデータを取得。SimpleAdapterでは1行分のデータはMutableMap型! 2 val item = parent.getItemIdAtPosition(position) as MutableMap<String, String>

のようになっていますが、getItemIdAtPosition()の戻り値はLong型であり、これをMutableMap型にキャストすることは確かに不可能です。asの部分が黄色い網掛けになっていて、カーソルを合わせると"This cast can never succeed"と警告されているはずです。

これはgetItemAtPosition()の打ち間違いではありませんか?書籍にどのように記されているかわかりませんが、

kotlin

1 //タップされた行のデータを取得。SimpleAdapterでは1行分のデータはMutableMap型! 2 val item = parent.getItemAtPosition(position) as MutableMap<*, *> 3 //定食名と金額を取得。 4 val menuName = item["name"] as String 5 val menuPrice = item["price"] as String

とすれば正常に動作すると思います。

投稿2020/05/05 08:47

編集2020/05/05 10:53
keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kenta0228

2020/05/06 05:16

keichia_hrs様  ありがとうございます。 Logcatにはエラーが表示されておりました、エラーなしと記載したのに申し訳ございません。ご指摘いただいた内容を修正してみました。 【修正コード部分】 //リストがタップされた時の処理が記述されたメンバクラス。 private inner class ListItemClickListener : AdapterView.OnItemClickListener { override fun onItemClick(parent: AdapterView<*>, view: View, position: Int, id: Long) { //タップされた行のデータを取得。SimpleAdapterでは1行分のデータはMutableMap型! val item = parent.getItemIdAtPosition(position) as MutableMap<*, *> //定食名と金額を取得。 val menuName = item["name"] as String val menuPrice = item["price"] as String //インテントオブジェクトを生成。 val intent = Intent(applicationContext, MenuThanksActivity::class.java) //第2画面に送るデータを格納。 intent.putExtra("menuName", menuName) intent.putExtra("menuPrice", menuPrice) //第2画面の起動。 startActivity(intent) } } ただ、それでもLogcatを確認したところ修正した後でも、下記内容が表示されており、リストを選択した後アプリが強制終了してしまいました。 2020-05-06 14:12:00.591 21392-21392/? E/Zygote: isWhitelistProcess - Process is Whitelisted 2020-05-06 14:12:00.596 21392-21392/? E/Zygote: accessInfo : 1 2020-05-06 14:12:10.077 21392-21392/com.example.kenta.intentsample E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.kenta.intentsample, PID: 21392 java.lang.ClassCastException: java.lang.Long cannot be cast to java.util.Map at com.example.kenta.intentsample.MainActivity$ListItemClickListener.onItemClick(MainActivity.kt:68) at android.widget.AdapterView.performItemClick(AdapterView.java:362) at android.widget.AbsListView.performItemClick(AbsListView.java:1689) at android.widget.AbsListView$PerformClick.run(AbsListView.java:4130) at android.widget.AbsListView$7.run(AbsListView.java:6612) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7050) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
keicha_hrs

2020/05/06 08:40

ご提示のコードでは直っていません。 × getItemIdAtPosition() ○ getItemAtPosition() 関数名が非常に紛らわしいのですが、Itemの後にIdが入りません。
kenta0228

2020/05/07 09:40

keicha_hrs様 ご連絡いただきありがとうございます。 ご指摘いただいた内容を正常に動作しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問