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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

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

Kotlin

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

Q&A

解決済

1回答

3636閲覧

オプションメニューの内容を動的に変更する(Kotlin)

bo333

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

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

Kotlin

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

0グッド

0クリップ

投稿2015/11/17 04:24

編集2015/11/17 05:20

参考サイトを元に
kotlinでオプションメニューの内容を動的に変更したいのですが、MenuItemのインスタンス作成時にエラーが出ます。
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

MenuInflaterはそもそもsetVisibleなんてメソッドを持っていません。
リンク先のコードと自身のコードをよく見比べてください。

投稿2015/11/17 05:10

yona

総合スコア18155

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

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

bo333

2015/11/17 05:21

質問をMenuItemに絞りました。
yona

2015/11/17 05:30

・左辺がvarはありえないとおもいます。MenuItemの誤りではないでしょうか。 ・右辺はnewが付いていないので、メソッドとしてコンパイルされています。 ・リンク先ではonPrepareOptionsMenuをオーバーライドしていますが、あなたはonCreateOptionMenuをオーバーライドしています。 質問から最終的に何をしたいのかわかりません。動的に追加したいのか、削除したいのか、非表示にしたいのか
bo333

2015/11/17 06:05

kotlinにnewは無いものだとおもっていましたがどう書けば良いのでしょうか? onPrepareOptionsMenuでオーバーライドしてもエラーは同じです。
yona

2015/11/17 07:21

根本的な勘違いしていました。申し訳ありません。 Menu#addを使うと追加できますね。
yona

2015/11/17 13:05

第二引数はidです。適当なintを指定してください。 また、エラーだけではわかりません、具体的なエラー名を教えてください
bo333

2015/11/18 02:17

!!演算子をつけてエラーは解決できました。メニュー表示されました。 setVisibleでコンパイルエラーが出てしまいました。 menu!!.add(Menu.NONE, 1, Menu.NONE, "Menu1") menu.setVisible(false) エラー unresolved reference:setVisible
yona

2015/11/18 06:31

全てに!!演算子をつけるべきではないでしょうか?
bo333

2015/11/18 09:01 編集

こうゆう感じでできました。 override fun onCreateOptionsMenu(menu: Menu?): Boolean { super.onCreateOptionsMenu(menu) menu!!.add(Menu.NONE, 1, Menu.NONE, "Menu1") return true } //メニューが開かれるたびに呼ばれる override fun onPrepareOptionsMenu(menu: Menu?):Boolean { super.onPrepareOptionsMenu(menu) val item0 = menu!!.findItem(1) item0.setVisible(true) //オプションメニュー表示 return true; }
yona

2015/11/18 09:42

最終的に自己解決でしたね。 力になれず申し訳ないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問