Q&A
解決済
3回答
7858閲覧
総合スコア19
Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。
0グッド
0クリップ
投稿2018/12/04 10:52
0
AndroidStudioを使っています。 ()findViewById の()に入ることはなにを表しますか?入っているときとはいっていないときがあるので、違いを知りたいです。
Java
本で読んだ
ここにより詳細な情報を記載してください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答3件
ベストアンサー
質問が今ひとつ不明瞭ですが、()findViewByIdの前にある括弧がキャストを指すものであるならば。
()findViewById
コンパイルに用いるSDK PlatformがAPI26以上ならば、findViewById()の戻り値が総称型となったため、キャストは不要になりました。
java1 TextView textView = findViewById(R.id.txtHello);
java
1 TextView textView = findViewById(R.id.txtHello);
これでもコンパイルは通ります。
投稿2018/12/04 16:03
総合スコア6768
findViewByIdの前にある()を指しているのなら、それはキャスト演算です。 findViewByIdは引数のIDを持つViewを取得するメソッドです。しかしViewはそこから派生したクラスが多数存在し、そのクラスの持つ特有の機能を使いたい場合もあります。そんなとき、キャストをすることで、その型として扱えるようにするものです。 ただし、実際に取得したViewがそのクラスのものとして扱えない場合は、例外が発生します。
投稿2018/12/04 15:44
総合スコア20675
私はAndroid StudioではないIDEでAndroidアプリを開発しているのですがご質問の事項と共通していると思うので回答します。
findViewByIdの引数はレイアウトで定義したIDの付されているViewをID名で指定しIDに対応するViewを取得する……のですが、例えばTextViewですとこのように取得します。
Java1TextView txt = (TextView)findViewById(R.id.txtHello);
1TextView txt = (TextView)findViewById(R.id.txtHello);
txtHelloはレイアウト側で指定したID名なのでレイアウトで指定したIDによって変わりますが、「R.id.」の部分は共通です。 レイアウト側のView(テキストやボタンなど)にIDを付すと、「R.id.」の中にViewを識別する定数が記録されます。 findViewByIdは必ず引数が必要なはずですが…………
投稿2018/12/04 14:10
総合スコア58
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
AndroidStudio ()findViewByIdとは