たとえば、インテントを作成するときは、
Intent i = new Intent(MainActivity.this,LoginActivity.class);
とはどういう.class
意味ですか? 文字列としてのクラスの名前ですか?それともクラスそのものですか?LoginActivity
の代わりに渡すことができないのはなぜLoginActivity.class
ですか?
Class
オブジェクト自体のインスタンスを参照します。のJava ドキュメントを参照してくださいClass
。この場合、Intent
コンストラクターActivity
は、開始したいのインスタンスを受け取ります。これは、開始するコンポーネントを明示的に定義しているため、明示的とも呼ばれIntent
ますが、暗黙的Intent
は Android によって実行時に解決されます。
該当するコンストラクターのpublic Intent (Context packageContext, Class<?> cls)
ドキュメントを見ると、2 番目のパラメーターにクラス オブジェクトが必要であることがわかります。任意のオブジェクトにクラスを提供する方法は、object.getClass()
またはを行うことです<className>.class
。
ClassName.class
現在のアクティビティから開く先のアクティビティを参照します。連絡先リンクをクリックすると、html のハイパー<a href="contactus.html">contact</a>
リンクのように contactus.html ページが開きます。