-
Title:
-
Description:
-
1番目を見てみましょう。
-
回答を言う前に、このコードをコピーして、
-
Android Studioにペイストします。
-
どんなエラーが発生するかを見てみます。
-
この問題を解くにおいて、Android Studioを使う必要はありません。
-
このコードを見て回答しても
-
いいです。
-
Android Studioを使うか使わないかは任意です。
-
このコードを実行するために、
新しいプロジェクトを作って、
-
acttivity.mainレイアウトファイルを変更して、
-
これから使うIDを持つビューを入れてみたいと思います。
-
このレイアウトがどのようになるかは分かりませんが、
-
ビューIDに該当するビューを加えられれば
大丈夫です。
-
そうすれば、このコードを使うことができます。
-
1番目では、このコードをペイストして、
エラーが発生したようです。
-
ANdroidStudioが、setTextw認知できないとなっています。
-
前のビデオで、
-
setTextはTextViewメソッドだといいました。
-
つまり、このメソッドは、TextViewオブジェクトでしか
使えないということです。
-
ここでは、nameTextViewで使っています。
-
nameTextViewはビューオブジェクトとして宣言されているので、
-
それをTextViewオブジェクトに変えなければいけません。
-
次に、タイプが合わないというエラーです。
-
ここでは、TextViewタイプのオブジェクトであるtextviewが
必要ですが、
-
ビュータイプのオブジェクトがあります。
-
それは、findViewByIdはビューを出力するのに対して、
-
左側はTextViewを必要としているからです。
-
なので、このfindViewByIdが出力したビューを
-
TextViewにするために、
これを加えなければいけません。
-
このnameTextView全てを左側の変数に
-
記録します。
-
エラーが消えましたね。このTextViewに「Laura」と
設定します。
-
1行目にエラーがありますね。ここに正しいコードを書きました。
-
ここでは、ビューをTextViewにするという回答でした。
-
そうすれば、nameTextViewに記録することができます。
-
そうすることによって、次の行で、TextViewメソッドの
-
TextView.setTextを使うことができます。
-
2番目に行きましょう。
-
これをコピーして、Android Studioにペイストします。
-
これがペイストしたコードです。
-
エラーがないので、1行目は正しいようです。
-
しかし2行目には赤線があり、
-
icompatible type error とあります。
-
文字列が必要だが、整数を見つけたとなっています。
-
これを理解するために、
-
TextViewのドキュメンテーションにある、
getMaxLinesメソッドを見てみましょう。
-
TextViewのドキュメンテーションで、getMaxLinesメソッドを
-
検索します。
-
ここにありました。
-
インプットはなく、
-
出力は整数になっています。
-
この整数の出力がAndroid Studioのエラーに
-
つながっています。
-
整数を文字列に記録しようとしているからです。
-
この変数のタイプを整数に変えなければいけません。
-
これでエラーが解消されました。
-
この戻り値は整数です。
-
なのでこのmaxLinesという変数に記録することができます。
-
まだ警告が残っています。
-
maxLinesという変数は使われていないとのことです。
-
しかしこれは、コードの一部なので、
-
実際のアプリのコードでは、
-
これを使うと思います。
-
エラーは二行目で、これが回答です。
-
このメソッドの戻り値は整数でなければ
-
いけないという回答でした。
-
3番目に行きましょう。
-
これが3番目のコードです。
-
Android Studioにペイストしました。
-
incompatibe typesというエラーが出ています。
-
ImageViewが必要だが、viewを見つけたとあります。
-
これは今見たTextViewのエラーと似ています。
-
このメソッドはviewを返します。
-
しかし左側ではImageViewとなっています。
-
なので、このviewオブジェクトをImageViewに
しなければいけません。
-
iconというIDを持ったviewは実際にImageViewなので、
この動作ができます。
-
ImageViewにすることができます。
-
これで右側がImageViewとして評価されるので、
-
左側の変数に記録することができます。
-
この変数のタイプはImageViewなので、
マッチしますね。
-
エラーが消えました。
-
次に、SetImageResourceというImageViewのメソッドを
-
このIconImageViewオブジェクトで呼ぶことができます。
-
もう一つ、logoが認知できないというエラーがあります。
-
これは、アプリで、logoという名前を加えなかったからです。
-
それを加えれば、エラーは消えます。
-
これが、viewをImageViewにする回答コードです。
-
4番目に行きましょう。
-
Android Studioにコードをペイストしましたが、
エラーがありません。
-
このコードは、titleというIDをもったビューを探しています。
-
これは、ビューを出力するもので、
TextViewという変数に記録されます。
-
TextViewのタイプははビューなので、
-
右側と合います。なので、このコードは正しいものです。
-
次の行で、ビューであるこのオブジェクトを使って、
-
setVisibilityというメソッドを呼んでいます。
-
View.GONEというパラメータを受け取ります。
-
ドキュメンテーションをいて確認してみましょう。
-
ビュークラスのドキュメンテーションで、
-
setVisibilityメソッドを検索してみます。
-
setVisibilityはvビュークラスの中のメソッドだということが
分かります。
-
視界を表す整数をインプットとして受け取り、
-
視界の選択肢は、VISIBE,INVISIBLE,そしてGONEとなっています。
-
setVisibilityはビュークラスの中のメソッドなので、
-
これは妥当です。
-
これをTextViewにする必要もありません。
-
このメソッドはビュークラスのメソッドだからです。
-
TextViewのメソッドを使う場合には、
-
TextViewにしなければいけません。
-
この問題では、エラーなしという回答になります。
-
setVisibilityはビューのメソッドなので、
このままビューオブジェクトで構いません。
-
難しい問題でしたね。
-
すべて正解できなくても大丈夫です。
-
次のエクササイズでは、これについてさらに
練習していきます。