大変初歩的な質問で申し訳ないのですが、以下のコードについていくつか質問があります。
画面に「Hellow world」と出力させるコードです。
###HellowWorld.java
package パッケージ名; import android.app.Activity; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.Window; /** * Created by xxx on 20xx/xx/xx. */ public class HellowWorld extends Activity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(new HellowView(this)); //なぜthis? } }
###HellowView.java
package パッケージ名; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.View; /** * Created by xxx on 20xx/xx/xx. */ public class HellowView extends View { public HellowView(Context context) { //contextとは? super(context); setBackgroundColor(Color.WHITE); } @Override protected void onDraw(Canvas canvas) { Paint paint = new Paint(); paint.setTextSize(48); canvas.drawText("Hellow World",0,48,paint); } }
###質問
■HellowWorld.javaより
setContentView(new HellowView(this));にて、
実際に表示するViewはHellowView.javaのHellowViewクラスであるのに、
なぜthis(HellowWorld)を指定しているのですか。
■HellowView.javaより
アプリケーション環境の情報を保持しているContextオブジェクトをなぜ引数として渡す必要があるのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/24 09:38