android - 2 个活动 1 个按钮
问题描述
我有带按钮的 MainActivity,我想用 1 个按钮在 MainActivity 的其他 2 个活动之间移动。我尝试将intent.getExtra 与if 一起使用,但它没有用,或者我用错了。你能帮忙吗?
首选.kt
package anti.stress.antistress
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import kotlinx.android.synthetic.main.activity_firstchoose.*
class Firstchoose : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_firstchoose)
val one = findViewById<Button>(R.id.one)
one.setOnClickListener {
val one = Intent(this, Fiveways::class.java).putExtra("f",1)
//one.putExtra("c",1)
startActivity(one)
eight.setOnClickListener {
val eight = Intent(this, Fiveways::class.java).putExtra("ei",8)
//eight.putExtra("c",8)
startActivity(eight)
}
}
}
Fiveways.kt 是
package anti.stress.antistress
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_fiveways.*
class Fiveways : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_fiveways)
angry2.setOnClickListener{
val angry = Intent(this, Advice::class.java)
startActivity(angry)
}
alone4.setOnClickListener{
val alone = Intent(this, Adviceofv::class.java)
startActivity(alone)
}
sad3.setOnClickListener {
val sad = Intent(this, Adviceoth::class.java)
startActivity(sad)
}
useless3.setOnClickListener {
val useless = Intent(this, Adviceof::class.java)
startActivity(useless)
}
afraid2.setOnClickListener {
val afraid = Intent(this, Adviceot::class.java)
startActivity(afraid)
}
}
}
Fiveways.kt 由两个按钮(一个和八个)打开,但如果我单击 FirstchooseActivity 按钮,one
那么按钮angry2
将打开 AdviceActivity,如果我单击 FirstchooseActivity 按钮,eight
那么按钮angry2
必须打开 OtherAdviceActivity。有人可以帮忙吗?也许我不需要intent.putExtra
?
解决方案
您需要做的是首先编写条件并相应地在其中传递 Intent,例如,首先当 if(your condition1) 然后将 Intent 传递给您想要打开的任何活动,然后进入 else 部分或 else if 条件添加另一个 Intent您要打开的活动。
if(your condition1){
angry2.setOnClickListener{
val angry = Intent(this, Advice::class1.java)
startActivity(angry)
}
else if(your condition2){
angry2.setOnClickListener{
val angry = Intent(this, Advice::class2.java)
startActivity(angry)
}
}
希望对您有所帮助。
推荐阅读
- typescript - 如何将打字稿 T 限制为仅原始对象
- python - PHP Apache 服务器与 Python Web 应用程序相结合
- python - 将 Python Flask 应用程序推送到 Heroku 失败
- makefile - 如何忽略makefile中的依赖检查
- javascript - FullCalendar 不会加载事件 - 无法解析 JSON
- php - 无法从 Linux 上的 laravel 连接 azure sql 服务器
- outlook - 我可以将自定义图标添加到“outlook”项目吗?
- python - 将数据解析为父子 - Python
- java - Android 的 Activity 类实现的哪一种方法不是模板方法?
- mysql - How to do if else condition in laravel when else case is need to skip