我的主要活動:-
var sec = second_activity()
var button1: Button? = null
var button2: Button? = null
var button3: Button? = null
var button4: Button? = null
button1 = findViewById<View>(R.id.button1) as Button
button2 = findViewById<View>(R.id.button2) as Button
button3 = findViewById<View>(R.id.button3) as Button
button4 = findViewById<View>(R.id.button4) as Button
button1?.setOnClickListener {
sec.input = "a"
val intent: Intent = Intent(this, second_activity::class.java)
startActivity(intent)
}
button2?.setOnClickListener {
sec.input = "b"
val intent: Intent = Intent(this, second_activity::class.java)
startActivity(intent)
}
第二個活動:-
class second_activity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
private lateinit var toolbar: Toolbar
private lateinit var mDrawerLayout: DrawerLayout
var input : String = " "
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)
//getting recyclerview from xml
val recyclerView = findViewById<RecyclerView>(R.id.recyclerView)
//adding a layoutmanager
recyclerView.layoutManager = LinearLayoutManager(this, RecyclerView.VERTICAL, false)
//crating an arraylist to store users using the data class user
val users = ArrayList<User>()
//adding some dummy data to the list
//creating our adapter
val adapter = CustomAdapter(this , users)
//now adding the adapter to recyclerview
recyclerView.adapter = adapter
Toast.makeText(this, input , Toast.LENGTH_SHORT).show()
when(input) {
"a" -> {
users.add(User(R.drawable.bc))
}
"b" -> {
users.add(User(R.drawable.bc))
users.add(User(R.drawable.bc))
users.add(User(R.drawable.bc))
users.add(User(R.drawable.bc))
}
}
}
我從 MainActivity 傳遞的輸入值沒有更新。它始終采用第二個活動中存在的空白值。我也嘗試過改變輸入的位置。但沒有作業。請幫忙
有沒有其他方法可以從第二個活動中找到在 MainActivity 中單擊了哪個按鈕
uj5u.com熱心網友回復:
是的,還有另一種方式。使用intent.putExtra("requestCode", requestCode). 然后在第二個活動中,您可以使用getIntent().getExtra().getInt("requestCode").
uj5u.com熱心網友回復:
是的,您可以使用以下代碼將值從一個活動傳遞到另一個活動,
val intent: Intent = Intent(this, SecondActivity::class.java)
intent.putExtra(name, value)
startActivity(intent)
我在下面給出了示例代碼,請試試這個..
在第一個活動中,我發送“語言”值。
val intent: Intent = Intent(this, SecondActivity::class.java)
intent.putExtra("language", "tamil")
startActivity(intent)
在第二個活動中,我檢索了“語言”值。
將此代碼放在您的第二個活動 onCreate() 中
val intent: Intent = getIntent()
var language = ""
if (intent != null) {
language = intent.getStringExtra("language")
}
println("Language : $language")
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/342632.html
標籤:安卓 科特林 按钮 安卓意图 android-button
