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

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

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

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

Android Studio

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

Kotlin

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

Q&A

解決済

1回答

1743閲覧

Android ボタンを押すことで、EditTextで入力した文字をListViewの情報として追加したい

qishihuang

総合スコア2

Android

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

Android Studio

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

Kotlin

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

0グッド

0クリップ

投稿2020/09/19 05:56

kotlin

1コード 2package com.example.addlist 3 4import androidx.appcompat.app.AppCompatActivity 5import android.os.Bundle 6import android.view.View 7import android.widget.* 8 9class MainActivity : AppCompatActivity() { 10 11 override fun onCreate(savedInstanceState: Bundle?) { 12 super.onCreate(savedInstanceState) 13 setContentView(R.layout.activity_main) 14 15 //ListViewオブジェクトを取得 16 val lvMenu = findViewById<ListView>(R.id.android_list) 17 //リストビューに表示するリストデータを作成 18 var _menuList: MutableList<String> = mutableListOf() 19 //アダプタオブジェクトを作成 20 val adapter = ArrayAdapter(applicationContext, android.R.layout.simple_list_item_1, _menuList) 21 //リストビューにアダプタオブジェクトを設定 22 lvMenu.adapter = adapter 23 24 //ボタンにリスナを設定 25 val btClick = findViewById<Button>(R.id.btn) 26 val Listener = HelloListener() 27 btClick.setOnClickListener(Listener) 28 } 29 30 //リスナクラス作成、イベントハンドラ作成 31 private inner class HelloListener() : View.OnClickListener { 32 override fun onClick(view: View) { 33 //EditTextオブジェクトを取得 34 val editText = findViewById<EditText>(R.id.edit_text) 35 //EditTextのテキストを取得し、onCreateメソッドで作成したアダプタオブジェクトにに追加 36 onCreate().adapter.add(editText.getText().toString) 37 } 38 } 39} 40 41```### 前提・実現したいこと 42 43kotlinを使用しています。ボタンを押すと、EditTextで入力した内容をListViewの要素として(動的に?)追加するアプリを作っています。 44 45### 発生している問題・エラーメッセージ 46 47``` 48エラーメッセージ 49``` 50                                 MainActivity.kt: (35, 13): None of the following functions can be called with the arguments supplied: 51protected open fun onCreate(savedInstanceState: Bundle?): Unit defined in com.example.addlist.MainActivity 52public open fun onCreate(@Nullable p0: Bundle?, @Nullable p1: PersistableBundle?): Unit defined in com.example.addlist.MainActivity 53 54 55### 該当のソースコード 56onCreate().adapter.add(editText.getText().toString()) 57```ここに言語名を入力 58ソースコード 59``` 60 61### 試したこと 62 63ここに問題に対して試したことを記載してください。 64 65### 補足情報(FW/ツールのバージョンなど) 66 67ここにより詳細な情報を記載してください。 68### 前提・実現したいこと 69 70ここに質問の内容を詳しく書いてください。 71(例)PHP(CakePHP)で●●なシステムを作っています。 72■■な機能を実装中に以下のエラーメッセージが発生しました。 73 74### 発生している問題・エラーメッセージ 75 76``` 77エラーメッセージ 78``` 79 80### 該当のソースコード 81 82```ここに言語名を入力 83ソースコード 84``` 85 86### 試したこと 87 88ここに問題に対して試したことを記載してください。 89 90### 補足情報(FW/ツールのバージョンなど) 91 92ここにより詳細な情報を記載してください。 93### 前提・実現したいこと 94 95ここに質問の内容を詳しく書いてください。 96(例)PHP(CakePHP)で●●なシステムを作っています。 97■■な機能を実装中に以下のエラーメッセージが発生しました。 98 99### 発生している問題・エラーメッセージ 100 101``` 102エラーメッセージ 103``` 104 105### 該当のソースコード 106 107```ここに言語名を入力 108ソースコード 109``` 110 111### 試したこと 112 113onCreateメソッドからadapter変数に格納しているアダプタをHelloListenerクラスのonClickメソッドの中で呼び出したかったのですが、それができず、上記のエラーが出現しました。 114 115### 補足情報(FW/ツールのバージョンなど) 116 117Android Studio 3.5.3

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

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

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

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

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

guest

回答1

0

ベストアンサー

adapterHelloListener()のコンストラクターの引数として渡せばいいのではないでしょうか。

kotlin

1 (中略) 2 3 //ボタンにリスナを設定 4 val btClick = findViewById<Button>(R.id.btn) 5 val Listener = HelloListener(adapter) 6 btClick.setOnClickListener(Listener) 7 } 8 9 //リスナクラス作成、イベントハンドラ作成 10 private inner class HelloListener(val adapter: ArrayAdapter<String>) : View.OnClickListener { 11 12 override fun onClick(view: View) { 13 //EditTextオブジェクトを取得 14 val editText = findViewById<EditText>(R.id.edit_text) 15 //EditTextのテキストを取得し、onCreateメソッドで作成したアダプタオブジェクトにに追加 16 adapter.add(editText.text.toString()) 17 } 18 } 19

投稿2020/09/19 06:26

keicha_hrs

総合スコア6768

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

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

qishihuang

2020/09/19 07:18

試してみたところ、できるようになりました。 めっちゃ助かりました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問