私はAndroidの初心者です。ここに私がやろうとしていることがあります。私は3つのボタンを持つアクティビティUIを持っています。 2番目のアクティビティは同じですが、ボタンのテキストとアクションは異なります。最初のアクティビティでボタンがクリックされたときにインテントやアクティビティを切り替えるのではなく、クリックしたときにボタンを変更するようにコーディングすることはできますか?このようにして、私は同じ第2のUIを必要としません。Androidでボタンのテキストと機能を変更するにはどうすればよいですか?
ログイン、サインアップ、ツアーの3つのボタンがあります。ログインやツアーがクリックされたら、私は実際に彼らが別の活動を開始したい。しかし、 "SignUp"の場合、これはUIが同一のボタンであるがテキストが異なり、異なるインテントを起動する場所です。私の目標は、この同じUIを排除し、「サインアップ」をクリックすると最初の画面でボタンを変更することだけです。
ここに、クリックするだけで新しいインテントを開始する私の現在のコードです。私が望む機能をどこから始めるべきかはわかりません。どんな助けもありがとうございます。ありがとう。
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.content.Intent
import android.support.v4.content.ContextCompat.startActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun login(view: View) {
val myIntent = Intent([email protected], LoginActivity::class.java)
[email protected](myIntent)
}
fun signUpAs(view: View) {
val myIntent = Intent([email protected], SignUpAsActivity::class.java)
[email protected](myIntent)
}
fun tour(view: View) {
val myIntent = Intent([email protected], TourActivity::class.java)
[email protected](myIntent)
}
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
if (hasFocus) {
val decorView = window.decorView
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY)
}
}
}
ありがとう:あなたはfindviewbyidを取り除くために、合成のプロパティを使用することができます。しかし、なぜあなたは別々の活動を続けることを勧めますか?私の必要性が理解されているかどうかはわかりません。 2つの別々のボタンセットが必要です。最初のセットからの「サインアップ」がクリックされたときにだけ表示するために、2番目のボタンセットが必要です。第1セットと第2セットの他のすべてのボタンは別々のアクティビティを開始します。私は、起動するボタンのテキストとインテントだけが異なる、ほぼ同じアクティビティを排除することが理にかなっていると考えました。それは理にかなっていますか?なぜそうしてはいけないのか、どうして私は別々の活動に固執すべきなのかを説明してください。ありがとう。 –
こんにちは@AnsonBolinger。画面上のボタンを「スワップ」するために、ボタン付きの2つのレイアウトを使用することができます。 VISIBLE/GONEの間でレイアウトの可視性を切り替えることで切り替えることができます。 私の最初のアイデアはSignUpとLogin UIを別々のFragments/Views/Activitirsに保存することです。それは重複のように見えるかもしれませんが(UIは非常に似ていると言われています)、将来的にはアプリケーションを拡大するのに役立ちます –
大丈夫です。説明ありがとう。 –